WebGL 与 PyOpenGL
我现在被指派尝试将在 WebGl 中完成的一些 3D 渲染集成到 PyOpenGL 中。我有两者的一些样本,但从一开始我就陷入了困境。对于具有大量顶点的对象之一,WebGL 版本的运行效果比 PyOpenGL 版本好得多。我很好奇这是否正常,还是存在一些实现问题。
问候, 博格丹
I'm now assigned to try to integrate some 3d rendering that was done in WebGl to PyOpenGL. I have some samples of both but right from the start I've run into somewhat of a dilemma. For one of the objects that has a huge number of vertexes the WebGL version runs much better than the PyOpenGL one.I'm mostly curious if this is normal or is it some implementation issue.
regards,
Bogdan
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您的 PyOpenGL 实现是否使用 VBO 来渲染几何图形?
我们在实现 WebGL 时遇到的主要性能问题是 JS->C++ 调用开销、类型转换和 GC 运行。这就是为什么 WebGL 使用类型化数组来处理数据,使用 VBO 来进行渲染:类型化数组减少了类型转换的需要,并且可能比 JS 数组更快地进行 GC,而 VBO 则最大限度地减少了 API 调用量和 CPU->GPU 流量。
在 PyOpenGL 上,我认为主要问题是类型转换。但你不应该在 VBO 中遇到这种情况,因此就有了这个问题。
Is your PyOpenGL implementation using VBOs for rendering the geometry?
The main performance issues we ran into when implementing WebGL were JS->C++ call overhead, type conversions and GC runs. Which is why WebGL is using Typed Arrays for data and VBOs for rendering: Typed Arrays reduce the need for type conversions and are potentially faster to GC than JS arrays, whereas VBOs minimize the amount of API calls and CPU->GPU-traffic.
On PyOpenGL I'd imagine the main issue to be type conversions. But you shouldn't run into that with VBOs, hence the question.