这件事困扰了我一段时间..。很难看出性能上有什么不同,所以我在这里问:
如果我的图像不使用alpha通道,我应该使用“GL_RGB”来将它们保存在GFX卡内存中,还是使用“GL_ARGB”,因为它的整个32位块的处理速度会更快?
或者GFX卡会自动将24位图像转换成32位图像来增加渲染时间?
编辑:我没有性能问题,但我只想用最好的方式来做!我还想确保程序呈现好的旧显卡,而不需要优化的东西,如新卡。
发布于 2010-06-20 17:28:29
选择适合你的纹理数据的格式,让视频卡驱动程序担心细节。不要试图超越它。OpenGL实现进行了很好的优化,并将为您做出所有必要的决定,以获得最佳性能,无论这意味着将所有纹理转换为32 you还是其他内部格式。
如果发现存在性能问题,请使用像gDEBugger这样的工具来解决性能瓶颈。您的纹理格式不太可能是这样的瓶颈。
编辑:如果问题只是内存压力,那么你有太多的纹理太大。就这么简单。使用压缩,使用低质量(每通道更少的比特)纹理,或使用较小的纹理.
发布于 2010-06-21 15:55:06
如果您关心内存的使用,请尝试纹理压缩:
很难给出一般性的建议来使用哪一个。尝试那些适用于您的纹理格式(RGB纹理不适用于RG压缩),并仔细观察结果的视觉质量。
https://stackoverflow.com/questions/3080049
复制相似问题