Java 在android上多次绘制相同位图的优化?
我使用瓷砖绘制道路:Java 在android上多次绘制相同位图的优化?,java,android,opengl-es,Java,Android,Opengl Es,我使用瓷砖绘制道路: float sizeW; float sizeH; if(isTopBottom()) { sizeW = getWidth(); sizeH = (sizeW / image.getWidth()) * image.getHeight(); } else { sizeW = getHeight(); sizeH = (sizeW / image.getW
float sizeW;
float sizeH;
if(isTopBottom())
{
sizeW = getWidth();
sizeH = (sizeW / image.getWidth()) * image.getHeight();
}
else
{
sizeW = getHeight();
sizeH = (sizeW / image.getWidth()) * image.getHeight();
}
int numTiles = isTopBottom() ? (int)Math.ceil(getHeight() / sizeH) :
(int)Math.ceil(getWidth() / sizeW);
for(int i = 0; i < numTiles; ++i)
{
if(isTopBottom())
{
c.drawRotatedScaledBitmap(
image,
getRect().left + (sizeW / 2.0f),
(getRect().top + (sizeH / 2.0f)) + (sizeH * i),
sizeW, sizeH, 0.0f);
}
else
{
c.drawRotatedScaledBitmap(
image,
getRect().left + (sizeH / 2.0f) + (sizeH * i),
getRect().top + (sizeH / 2.0f),
sizeW, sizeH, (float)Math.PI / 2.0f);
}
}
float-sizeW;
浮子;
if(isTopBottom())
{
sizeW=getWidth();
sizeH=(sizeW/image.getWidth())*image.getHeight();
}
其他的
{
sizeW=getHeight();
sizeH=(sizeW/image.getWidth())*image.getHeight();
}
int numTiles=isTopBottom()?(int)Math.ceil(getHeight()/sizeH):
(int)Math.ceil(getWidth()/sizeW);
对于(int i=0;i
我知道OpenGL讨厌纹理绑定。android是否足够聪明以避免这些纹理绑定,或者是否有一种方法可以明确地告诉它我正在反复绘制相同的位图
谢谢OpenGL是一个状态机,因此一旦您进行了bind()调用,就不需要再进行另一次调用来绘制相同的纹理。我知道OpenGL讨厌纹理绑定。你怎么知道的?绑定纹理的成本是特定于实现的。此外,如果您“知道”这一点,为什么不在
drawRotatedScaledBitmap
代码中采取步骤,不多次绑定同一纹理?