【发布时间】:2014-09-22 12:49:09
【问题描述】:
有没有一种方法可以创建始终保留在 GPU 内存(纹理或缓冲区)中的 OpenGL 对象? OpenGL 可以将对象卸载到 RAM 内存。但我的目的是填充 GPU 内存。例如:我有 1 GB GPU 内存,我的应用需要填充 512 MB 的 GPU 内存。
【问题讨论】:
-
只需创建一个该大小的 VBO..
有没有一种方法可以创建始终保留在 GPU 内存(纹理或缓冲区)中的 OpenGL 对象? OpenGL 可以将对象卸载到 RAM 内存。但我的目的是填充 GPU 内存。例如:我有 1 GB GPU 内存,我的应用需要填充 512 MB 的 GPU 内存。
【问题讨论】:
有没有办法创建 OpenGL 对象,什么总是留在 GPU 内存中
没有。
但我的目的是填充 GPU 内存。
换句话说,您尝试拒绝服务 GPU。不工作。操作系统/驱动程序将决定为其他需要立即绘制的东西腾出空间。如今,许多操作系统都依赖 GPU 的 3D 加速来绘制用户界面。 GPU 必须始终响应。
现代 GPU 也具有 MMU,并且只能获取较大对象中的数据子集。
【讨论】: