aboutsummaryrefslogtreecommitdiffstats
path: root/src/jogl/classes/com/jogamp/opengl
diff options
context:
space:
mode:
authorWade Walker <[email protected]>2011-01-25 09:45:09 -0600
committerWade Walker <[email protected]>2011-01-25 09:53:36 -0600
commitdae2f33848a60003096681ae18e719aee9936112 (patch)
treeb3c53776c9004c532f36492cba4b20fb60b8674c /src/jogl/classes/com/jogamp/opengl
parent64a500413de7b3d1ddcece1256d1f28601d6ec0d (diff)
Fix bug 463 where gluScaleImage consumes all memory
Changes the Type_Widget.java constructor to allocate a normal buffer instead of a direct buffer. Apparently JVMs can't allocate small direct buffers efficiently, and since Type_Widget is called inside tight loops millions of times, we can't afford to do it this way. This commit restores it to how it was in JOGL 1.
Diffstat (limited to 'src/jogl/classes/com/jogamp/opengl')
-rw-r--r--src/jogl/classes/com/jogamp/opengl/impl/glu/mipmap/Type_Widget.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/jogl/classes/com/jogamp/opengl/impl/glu/mipmap/Type_Widget.java b/src/jogl/classes/com/jogamp/opengl/impl/glu/mipmap/Type_Widget.java
index b329840ef..0aeca8f1c 100644
--- a/src/jogl/classes/com/jogamp/opengl/impl/glu/mipmap/Type_Widget.java
+++ b/src/jogl/classes/com/jogamp/opengl/impl/glu/mipmap/Type_Widget.java
@@ -56,7 +56,9 @@ public class Type_Widget {
/** Creates a new instance of Type_Widget */
public Type_Widget() {
- buffer = ByteBuffer.allocateDirect( 4 );
+ // can't make this direct, because JVM doesn't allocate small direct buffers efficiently
+ // see https://jogamp.org/bugzilla/show_bug.cgi?id=463 for details
+ buffer = ByteBuffer.allocate( 4 );
}
public void setUB0( byte b ) {