2011-11-19 39 views
1

我正在使用iSGL3D作为iPad的应用程序。这很简单。我想用纹理画出50个左右的立方体。当绘制这50个立方体时,我的“每秒帧数”降低到大约30 FPS。如果我试图绘制150立方左右的东西,它甚至会变得更糟,它将以大约14 FPS的速度运行。由于我的应用程序的性质,它可能会发生,必须绘制像300立方体,我甚至不想想象我会得到一个可怕的FPS ...iOS,iSGL3D和立方体

所以,让我们来看看点。我想知道是否还有别的东西,与iSGL3D相似但速度更快。如果我看一些具有真正高级3D场景和内容的应用程序,那么我无法想象我的小立方体会变得如此糟糕的FPS。

要绘制的多维数据集由服务器以JSON格式给出。他们不是使用像3dsmax或Maya这样的编辑器创建的。所有的立方体都需要以编程方式绘制。

我想感谢你在前进..

罗伯特

回答

2

我不是ISGL3d专家,但所以这里目前正在它有一些提示,你可以尝试 以提高性能:如果每个立方体都没有使用不同的纹理或

  1. 材料 在字典或数组中创建材料,而不是将它们分配到您的立方体的 。如果您要为每个立方体创建一个材质对象而不是 ,则会浪费大量资源。因为Max用opengl术语说过,它可能在ISGL3D中先创建一个网格,然后从同一个网格(我的意思是一组顶点)创建对象实例,并根据需要应用变换。这将大大提高表演。

  2. 不仅opengl调用drop 您的帧率,而且您的程序也会影响一般的 的性能。所以请确保您的json服务器的呼叫是 ,不会影响您的帧速率。

+0

非常感谢。我会进一步研究这个! – Robbietjuh

0

我更喜欢使用的OpenGL。它只是给你更多的控制。

只为您的立方体使用单个顶点集,并且仅更改转换(平移/缩放/旋转)和颜色/材质/纹理。这个非常简单的技巧将会使你的性能得到显着提升