Skip to content

Commit fe52bb4

Browse files
committed
Avoid intermediate colour object
1 parent e4dca78 commit fe52bb4

1 file changed

Lines changed: 14 additions & 6 deletions

File tree

  • jme3-screenshot-tests/src/main/java/org/jmonkeyengine/screenshottests/testframework

jme3-screenshot-tests/src/main/java/org/jmonkeyengine/screenshottests/testframework/TestDriver.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -394,13 +394,21 @@ private static boolean imagesAreVerySimilar(BufferedImage img1, BufferedImage im
394394

395395
for (int y = 0; y < img1.getHeight(); y++) {
396396
for (int x = 0; x < img1.getWidth(); x++) {
397-
if (img1.getRGB(x, y) != img2.getRGB(x, y)){
398-
Color color1 = new Color(img1.getRGB(x, y));
399-
Color color2 = new Color(img2.getRGB(x, y));
397+
int rgb1 = img1.getRGB(x, y);
398+
int rgb2 = img2.getRGB(x, y);
400399

401-
double dr = Math.abs(color1.getRed()-color2.getRed());
402-
double dg = Math.abs(color1.getGreen()-color2.getGreen());
403-
double db = Math.abs(color1.getBlue()-color2.getBlue());
400+
if (rgb1 != rgb2){
401+
int r1 = (rgb1 >> 16) & 0xFF;
402+
int g1 = (rgb1 >> 8) & 0xFF;
403+
int b1 = rgb1 & 0xFF;
404+
405+
int r2 = (rgb2 >> 16) & 0xFF;
406+
int g2 = (rgb2 >> 8) & 0xFF;
407+
int b2 = rgb2 & 0xFF;
408+
409+
int dr = Math.abs(r1 - r2);
410+
int dg = Math.abs(g1 - g2);
411+
int db = Math.abs(b1 - b2);
404412

405413
double largestPixelValueDifference = Math.max(dr, Math.max(dg, db));
406414
if(largestPixelValueDifference>PixelSamenessDegree.NEGLIGIBLY_DIFFERENT.getMaximumAllowedDifference()){

0 commit comments

Comments
 (0)