小编use*_*134的帖子

在Android上上传纹理时避免失速

我们的游戏要求我们不断加载和创建新图像,然后将其放在纹理页面上然后用于渲染.我们使用glTexSubImage2d上传来修改纹理页面的一部分.我们不保留系统副本.每当我们这样做时,我们在glTexSubImage2d调用中有一个六帧延迟.我们在游戏开始之前将大部分图像加载到纹理上,但有些东西必然是动态的.

我假设整个渲染管道,无论是双缓冲还是三缓冲都被刷新,因为我想修改它正在使用的纹理,或者有一个引用.即便如此,六帧加(0.1秒)似乎过度.我们在IOS上完全相同,并且在修改纹理时几乎没有注意到任何延迟.游戏通常在1或2帧上运行.

任何人都知道发生了什么事?这是在三星Galaxy Note GTN7000上运行的.我们正在使用SurfaceView类.你能"关掉这个摊位"吗?我理解这可能意味着一个框架左右的人工制品,其中渲染可能没有更新的纹理.

此外,任何想法如何知道或设置内部是否是双缓冲或三缓冲.

我还读到,大多数桌面/ PC OpenGL驱动程序通过拥有两个或三个纹理副本并仅更新当前未使用的纹理,然后及时更新副本来解决这个问题.我们根本就没有记忆!

谢谢

肖恩

c++ android opengl-es

6
推荐指数
1
解决办法
569
查看次数

标签 统计

android ×1

c++ ×1

opengl-es ×1