From f755fb2ebbec79fdff60ed9c625e683e7df32822 Mon Sep 17 00:00:00 2001 From: LexManos Date: Sun, 7 Apr 2013 21:45:49 -0700 Subject: [PATCH] Optimize Texture loops a bit for non-rotated textures. Should help the FPS loss on higher resolution texture packs. If it becomes a major issue we may have to look into a more optimized animation system. https://mojang.atlassian.net/browse/MC-13206 --- .../renderer/texture/Texture.java.patch | 39 ++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/patches/minecraft/net/minecraft/client/renderer/texture/Texture.java.patch b/patches/minecraft/net/minecraft/client/renderer/texture/Texture.java.patch index 74229b819..68ef8630a 100644 --- a/patches/minecraft/net/minecraft/client/renderer/texture/Texture.java.patch +++ b/patches/minecraft/net/minecraft/client/renderer/texture/Texture.java.patch @@ -1,6 +1,41 @@ --- ../src_base/minecraft/net/minecraft/client/renderer/texture/Texture.java +++ ../src_work/minecraft/net/minecraft/client/renderer/texture/Texture.java -@@ -222,7 +222,7 @@ +@@ -214,7 +214,33 @@ + this.textureData.position(0); + bytebuffer.position(0); + +- for (int k = 0; k < par3Texture.getHeight(); ++k) ++ /* Forge: ++ * ++ * Optimize these loops a bit for non-rotated textures. ++ * Should help the FPS loss on higher resolution texture packs. ++ * If it becomes a major issue we may have to look into a more ++ * optimized animation system. ++ * ++ * https://mojang.atlassian.net/browse/MC-13206 ++ */ ++ if (!par4) ++ { ++ int scanSize = par3Texture.getWidth() * 4; ++ int w4 = width * 4; ++ int targetY = (par2 * w4) + (par1 * 4); ++ ++ for (int y = 0; y < par3Texture.getHeight(); y++) ++ { ++ textureData.position(targetY); ++ for (int x = 0; x < scanSize; x++) ++ { ++ textureData.put(bytebuffer.get()); ++ } ++ targetY += w4; ++ } ++ } ++ ++ for (int k = 0; par4 && k < par3Texture.getHeight(); ++k) + { + int l = par2 + k; + int i1 = k * par3Texture.getWidth() * 4; +@@ -222,7 +248,7 @@ if (par4) { @@ -9,7 +44,7 @@ } for (int k1 = 0; k1 < par3Texture.getWidth(); ++k1) -@@ -232,7 +232,7 @@ +@@ -232,7 +258,7 @@ if (par4) {