1

我想知道有 20 个独立的图像,如果我们只使用一个包含所有这些图像的精灵,性能会不会有任何改进?这会提高性能还是没有太大变化?顺便说一句,我正在尝试使用 opengl 进行渲染

4

2 回答 2

1

如果最终效果是您更不频繁地更改活动纹理,它通常会提高性能。

这是因为 GPU 在主存储和绘图之间缓存纹理。如果您更改纹理,则该缓存将被刷新。如果您继续使用相同的纹理,那么缓存很可能会有效地工作,从而节省前往速度较慢的主存储的次数。

在手机上,物理 RAM 由 CPU 和 GPU 共享是很正常的,因此访问它的成本很高。

于 2012-11-09T02:06:30.993 回答
1

您的问题非常广泛,因为它取决于许多因素,但通常 - 是的,拥有组合资源通常会带来性能优势。主要原因是你在绘制框架时没有进行纹理切换,这意味着你不必改变硬件状态,多次上传数据等等。

但是,也有一些可能的缺点:如果您希望进行纹理包装,您可能会搞砸,精灵的不良包装可能会增加您的纹理大小等等。

总结一下:去做吧,但要明智:)

于 2012-11-09T02:08:41.907 回答