我想在Android上构建一个OpenGL ES 2.0渲染系统。 我有一个FloatBuffer,我把所有的顶点数据。目前,我只是分配大量的字节,并忽略绘图调用,如果他们将溢出缓冲区的大小。 有没有办法动态调整缓冲区大小?如果我在每次渲染之后释放缓冲区并重新分配缓冲区,我想这会很慢。Android OpenGL动态调整大小FloatBuffer?
2
A
回答
1
有没有办法来动态调整缓冲区?
编号您目前的方法看起来不错。您可能需要扩展它,如果数据不适合当前缓冲区,则创建一个新的更大的数据并填充新数据。
不幸的是,OpenGL-ES没有函数as OpenGL-3 does它允许您在缓冲区对象之间复制数据。使用它可以在完全停留在GPU内存的BO之间进行复制,因此您只需更新缺少的部分。
如果我只是释放缓冲区并在每次渲染后重新分配缓冲区,我想这会很慢。
它肯定不会提高性能,没错。根据您的实际实施情况,它可能会对性能产生巨大影响,这是正确的。所以我建议不要这样做。
2
我其实还在学习高性能OpenGL渲染的过程中,但切换到顶点缓冲区对象通常会允许尽可能高的执行时间。最后你必须尝试并测试。
这里进一步阅读一些消息来源:
Android Lesson Seven: An Introduction to Vertex Buffer Objects (VBOs)
这是罚款时,没有大量的数据传输,但作为我们 场景得到更多的对象更加复杂和三角形,这可能会增加CPU和内存使用的额外成本。我们能做些什么 这个?我们可以使用顶点缓冲对象。而不是每帧传输来自客户端内存的顶点信息,信息将被传输一次,然后将从此图形 内存缓存完成渲染。
相关问题
- 1. Android - OpenGL FloatBuffer vs IntBuffer
- 2. FloatBuffer Android中的OpenGL
- 3. 动态调整大小片段android
- 4. Android动态调整大小的容器
- 5. Android上的OpenGL调整大小/拉伸
- 6. Flash动态调整大小
- 7. Bootstrap动态调整大小
- 8. iFrame动态调整大小
- 9. TabLayoutPanel动态调整大小?
- 10. $ .dialogue()动态调整大小
- 11. SVG动态调整大小
- 12. Opengl 2d调整大小
- 13. Android活动调整大小
- 14. Android - 自动调整大小
- 15. 动态调整动态iframe的大小
- 16. ImageView根据android中的图像大小动态调整大小
- 17. 动态调整UILabel的内容大小
- 18. 调用opengl函数调整大小
- 19. 获取模态以在窗口大小调整时动态调整大小
- 20. Phonegap&Javascript - Div的动态调整大小
- 21. JavaFX 2窗格动态调整大小
- 22. 动态调整图像大小。
- 23. SSRS动态列大小调整
- 24. 统一调整大小下拉动态
- 25. C++调整动态数组大小
- 26. C#DataViusalization图动态调整大小
- 27. 调整动态数组的大小
- 28. 动态调整iframe的大小
- 29. CSS图像动态调整大小
- 30. 动态图像大小调整
谢谢你的链接,但他们没有太多的解决我的问题。 :/ – chimitos