我们正在构建一个可滚动的背景,并且目前有一个大的背景图像,我们将其分割为512x512的图块,并希望根据需要加载这些图块,而不是一次加载所有图块,在onDrawFrame中调用GLUtils.texImage2D时,我们注意到由于必须将纹理加载到硬件上,我们认为存在滞后,是否有更好的方法来做到这一点?

谢谢。

最佳答案

哥们,
我认为您要在一个帧时间内传输的图像数据量非常大:如果您使用的是24bpp格式,则512x512相当于1 MB数据。我可以想到两种最小化方法:


更改为bpp更少的位图格式。如果您使用的是ARGB8888,则可能要尝试切换到RGB565(因为它是背景)来将数据减半。
考虑将512x512分成例如4个512x128块(因为您垂直滚动)。这样,您可以将负载分配到更多帧间隔中。


干杯,Aert。

10-08 18:28