首页 > 解决方案 > 当内存地址已经固定时使用 PBO?

问题描述

我正在尝试优化从 CPU 内存到 OpenGL 的纹理上传。

最初我使用glTexImage2D并且有效,但显然没有使用 DMA,所以我正在尝试使用 PBO。

不幸的是,我必须使用提供纹理数据的 API 为它们分配 CPU 内存并返回一个指针。我无法控制它在内存中放置数据的位置。

如果我创建一个 PBO 然后对其进行映射,我必须“手动”将我的数据移动到 PBO 分配的内存中,或者glBufferData在调用之前使用纹理数据对其进行初始化glTexImage2D。这似乎比完全不使用 PBO 慢得多。

我可以尝试任何其他技术,或者这只是 PBO 工作方式的限制?

标签: opengltexture2dpbo

解决方案


推荐阅读