当然,纹理将不会在屏幕上完全可见。而且我可以使它始终只绘制可见部分(使用glTexCoord2f
然后是glVertex2f
)。 (这是大的“水平”图像,对于滑动相机,我必须四处移动)。注意,此渲染必须在我的游戏中是实时的(游戏用C++
编写)。
简短的计算:
2500 * 2500 = 6,250,000像素
6,250,000像素* 4字节/像素= 25,000,000字节
25,000,000字节= 23.8 MiB
那么,对于跨平台的商业游戏来说,23.8 MiB
不会太多吗?知道人们可以拥有各种图形卡。
最佳答案
一个纹理有很多。如果视频卡有足够的内存将其保留在主板上(至少32MB,也就是说您的游戏中没有其他东西了,那么128MB实际上更合理)应该不是太大的问题,但是如果没有,那么只要系统在屏幕上显示,系统就必须将这些位每帧推入视频卡。这可能会导致严重的减速。
如果您可以缩小纹理,那么我强烈建议您这样做。如果可能的话,由于无法一次看到所有内容,因此您可以尝试将其拆分为几部分-只有可见的部分必须位于视频内存中,这意味着如果在右侧将其拆分,则使用的内存会更少的地方。