From 537f4ac57ae2b34f0a04fa63874c8ca6534c9a6d Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Tue, 20 Aug 2019 02:31:25 -0400 Subject: [PATCH] Faster JPG reader. --- ObjEditor.java | 10 ++++++++-- textures/Color/Others/icons/215.jpg | 0 GroupEditor.java | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/GroupEditor.java b/GroupEditor.java index 8342091..f678dca 100644 --- a/GroupEditor.java +++ b/GroupEditor.java @@ -1259,7 +1259,10 @@ CreateTexturePanel(textures); - resourcecontainer.setSelectedIndex((int)(Math.random() * resourcecontainer.getTabCount())); + int tabCount = resourcecontainer.getTabCount(); + + if (tabCount > 0) + resourcecontainer.setSelectedIndex((int)(Math.random() * tabCount)); oe.toolboxPanel.add(textures); diff --git a/ObjEditor.java b/ObjEditor.java index 93b4b40..a9b5c11 100644 --- a/ObjEditor.java +++ b/ObjEditor.java @@ -134,8 +134,14 @@ try { - BufferedImage image = javax.imageio.ImageIO.read(ObjEditor.class.getClassLoader().getResourceAsStream(name)); - + BufferedImage image; + + if (name.endsWith("jpg")) + // Much faster! + image = new sun.awt.image.codec.JPEGImageDecoderImpl(ObjEditor.class.getClassLoader().getResourceAsStream(name)).decodeAsBufferedImage(); + else + image = javax.imageio.ImageIO.read(ObjEditor.class.getClassLoader().getResourceAsStream(name)); + // if (image.getWidth() > 48 && image.getHeight() > 48) // { // BufferedImage resized = new BufferedImage(48, 48, image.getType()); diff --git a/textures/Color/Others/icons/215.jpg b/textures/Color/Others/icons/215.jpg index 35e4482..c81bacc 100644 --- a/textures/Color/Others/icons/215.jpg +++ b/textures/Color/Others/icons/215.jpg Binary files differ -- Gitblit v1.6.2