Hi, I have discovered while using DDMS that the basic OpenGL system
calls in my code are allocating memory and causing the garbage
collector to fire! It's not the system calls themselves causing the
problem but the use of direct byte buffers to pass data in.

The direct byte buffers I use in calls such as glVertexPointer &
glTexCoordPointer lead to java.nio calls to read the byte buffers,
leading to objects of type
org.apache.harmony.luni.platform.PlatformAddress being created.

These buffers are the same as in the example OpenGL code. I am
creating a ByteBuffer using allocateDirect() and then creating an
IntBuffer using ByteBuffer.asIntBuffer() to pass data to the OpenGL
functions. The problem occurs as the system is reading the buffers.

Is there a way around this? Maybe using something other than direct
byte buffers? It seems that using this method, OpenGL code of any
complexity (ie a lot of OpenGL system calls in every frame) is doomed
to pause a lot. I am aware that these calls should be kept to a
minimum, but I still need to use a certain amount of them.

thanks,
Kolin

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to