performance - opengl3 20k Sprite 帧率慢?

标签 performance opengl graphics go game-engine

我在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/

相关文章:

c++ - C++ Small String Optimized (SSO) 如何与容器一起工作?

javascript - "saturation"globalCompositeOperation 不改变透明度?

c++ - 使用 GDI+ 的带有 PNG 的按钮

java - 使用 BufferedImage 生成缩略图,无需反转颜色并在 Java 中获得 alpha

java - 确定文本文件长度的最有效方法是什么?

python - 函数闭包性能

ruby - Ruby 中的变量分配真的很昂贵,还是它优化了链式字符串方法?

c++ - 带有片段着色器的 OpenGL 3.3 不同颜色

performance - Opengl glScalef 重置性能

opengl - 在 QML 中托管 QOpenGL 小部件