我在绘制纹理时遇到了一些问题。情况如下:
我有一个带有ati硬件和proptiary ati驱动程序的linux盒子,这是两三年之久 - 因为ati放弃旧的hw。我有基于opengl的专用(主要)2D引擎的自定义应用程序。 (这是多年来建立的,并且非常成熟,而且从未如此 遇到这样的问题)
问题发生了,当vram(取自系统内存,在这种特殊情况下为2GB)几乎达到纹理最大值。在场景中有一个四边形,纹理纹理超过2048x2048它没有绘制。当我对特定表面进行计时时,花费大部分时间绘制的表面不是使用大tex纹理的表面(大约需要87 us),而是在它之后绘制的下一个(需要~900 ms!)。 正在绘制的场景不会使用来自vram的所有纹理,但仅限于:8%。不幸的是,我甚至无法释放其中的一小部分。该应用程序通常在这种受压力的条件下工作,并且从不表现得像这样。
glGetError()什么都不返回。 所有其他纹理都是正常绘制的。