-1

我实际上正在实现一个视图,它必须绘制建筑物的平面图。我只想同时显示一层,但我已经遇到了性能问题。

每个楼层都有 x 多边形,由 y 点/边组成。我想在我的地图上画出每一个点和每一条边。在某些情况下,最多有 600 个点,因此在 Canvas 中绘图需要很长时间。

切换到OpenGL会更好吗?(我不需要任何纹理,只需要多边形)。

4

1 回答 1

1

OpenGL ES 2.0如果你不能使用 2.0 ,我会说去,然后去 1.0。

帆布

  • 更少的代码(以及更基本和简单的编程)
  • 虽然表现更差

OpenGL ES

  • 更多代码
  • 通常性能更好(多边形越多,越容易看出 OpenGL ES 提供了更好的性能)

因此,如果我们谈论的是少量多边形,那么 Canvas 可以处理它,同时仍然提供良好的 FPS。

虽然请注意,使用 OpenGL,如果您可以这样说,将需要更多的“思考” 。基本上,您需要考虑要将哪些顶点打包到一起VBOs,然后减少绘制调用,您将获得更好的 FPS。你还需要知道一些矩阵和向量数学,可能不是 100% 需要,但是如果你知道的话,很多事情会变得容易得多。

于 2013-10-20T09:54:44.527 回答