我在golang中成功制作了一个opengl 3.x的动画。然而;只有在渲染 20k 纹理后,逐帧更新才明显变慢。所有 Sprite 所做的只是从屏幕的左侧移动到右侧。请记住,它们都在彼此之上,因为我懒得随机分配位置。
我有一台更新的 PC,可以在高设置下运行 GTA5,但不能在 opengl3 环境中显示 20k Sprite (带纹理的四边形)?
我一定是做错了什么。也许我需要将所有顶点打包到一个 VBO 中,而不是为每个对象打包一个新的 vbo?我也绑定(bind)了每个对象。我不太确定是什么导致了这个瓶颈。有人可以帮忙吗,因为我不确定从这里去哪里?
我附上了我的代码作为引用,任何人都可以提供一些关于在 opengl3 中加速渲染 20k Sprite 的提示: http://pastebin.com/SHQtRPn7
最佳答案
在不查看源代码的情况下,您应该使用一个 VBO 并为共享纹理的所有 Sprite 组合几何图形,并使用一个绘制调用绘制它们。
关于performance - opengl3 20k Sprite 帧率慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31875813/