When using VBO, they are non released on dispose() in class Pipelined_QuadRenderer. Lead to system memory leak when creating and deleting com.jogamp.opengl.util.awt.TexRenderer objects.
class Pipelined_QuadRenderer in TextRenderer.java,line 1786 : gl.glGenBuffers(2, IntBuffer.wrap(vbos)); mVBO_For_ResuableTileVertices = vbos[0]; mVBO_For_ResuableTileTexCoords = vbos[1];
Created attachment 665 [details] Proposed patch
Hi You added a dispose() method into the main class: public void dispose() { GL2 gl = GLContext.getCurrentGL().getGL2(); int[] vbos = new int[2]; vbos[0] = mVBO_For_ResuableTileVertices; vbos[1] = mVBO_For_ResuableTileTexCoords; gl.glDeleteBuffers(2, IntBuffer.wrap(vbos)); } and you improved the dispose() method of the debug listener: @Override public void dispose(GLAutoDrawable drawable) { mPipelinedQuadRenderer.dispose(); glu.destroy(); glu=null; frame=null; } Please can you make a pull request?
Sorry, but I don't know how to do it ... :(
(In reply to comment #4) > Sorry, but I don't know how to do it ... :( http://jogamp.org/wiki/index.php/How_to_Contribute
Someone else has the same problem: http://forum.jogamp.org/TextRenderer-memory-leak-td4039967.html Maybe we should consider using the proposed patch.
Move version to 2.4.0. Please test the proposed patch. We need a unit test?
Created attachment 819 [details] Cleaned up Patch from original proposal
(In reply to Tof from comment #2) > Created attachment 665 [details] > Proposed patch Excellent work Tof, thank you! I reviewed you code and indeed, the VBOs were not deleted. Your patch fixes this leak, IMHO. I added your patch and will push it soon commit 1f0d7d4b416521ef56fdc81b28d128c7f3279188