【发布时间】:2011-03-27 02:53:49
【问题描述】:
这通常是一个 Java 问题,但在这种特殊情况下,我在 Android 中为 OpenGL 使用顶点数组。要使用这个基本的 GL 系统,您必须在本地分配模式下使用 Java 的 Buffer 系统。这在 Java 上非常慢。我整个应用程序大约 40-50% 的时间都花在了 buffer.put() 中。
在使用 Java 时有什么方法可以加快速度(即不使用本机 sdk)?
【问题讨论】:
-
您多久编写一次值?应该是您在启动时所做并忘记的事情。
-
为了解决 Java 的 GC 不断地破坏对象的问题,我使用一个顶点缓冲区来处理我的许多网格。由于我的程序中有很多网格,每个网格有一个对象会导致 GC 发疯。而且 GC 收集在较旧的 Android 手机上非常缓慢。当然,我会尽可能地重用这些值。
标签: android performance opengl-es buffer