I am currently in the process of converting a personal texture pack to 1.5 when I noticed massive performance drops after using the texture pack conversion tool by dinnerbone in comparison to 1.4.7 frames.
Upon investigation, after using default animations, taking out and slowly putting textures back in while looking at the Stitched textures PNG files I noticed that once the block stitched textures goes above 2048x2048 resolution to 4096x2048 the game goes from a solid 90+ frames per second to 2 or 3.
I have included both stitched images. The only difference between the two is that I have removed the mycel_top.png and as a result the image size has been increased from 2048x2048 to 4096x2048.
If needed, I can also include zipped versions of the texture pack, just wasn't sure of the best method to test this.
Linked issues
Attachments
Comments 19
Hmm, that's weird. Think it could be related to Java 7 update 7? Since java is at update 17 or so right now.
I also had two others test this with me as well. Their performance drops were as follows: 200 > 80... and 90>45. While theirs were still playable, they noticed those big drops as well. I'll ask them later to see what version of Java they could be on.
Edit: Just tested on the official 1.5 release as this was on the pre-release. Same result on my PC. I'll try updating Java next. Also tried turning off smooth lighting as I saw that some people noticed low FPS as a result, but no change in performance there.
Just updated Geforce GFX drivers to the latest 314.09 release and updated Java to update 17 64-bit and still had the same performance drop switching between the two.
Edit: Just tried two completely different texture packs that were not my own. Switching between their different resolutions gave the same large performance drop while playing the same in 1.4.7 versions would result in normal FPS.
Edit 2: Seemed my MC was still on the pre-release when I told it to update. It seems to be fixed in the official 1.5 release. Feel free to close this!
1.5.2pre has this note in the changelog: Improvements to FPS when using high-resolution texture packs. So it is a possibility it is not a concern, but I have not tested it myself.
The problem still persists in 1.5.2. In 1.5.1 and 1.5 I was getting said performance issues with 64x64 textues and higher. In 1.5.2, performance issues aren't noticable with the same 64x64 texture pack (Defscape), but higher-resolution texture packs (128x128+) still have performance issues. There is also a pretty severe memory leak which occurs when switching/loading texture packs.
However, not all hope is lost. In the 13w18 snapshots, the performance issues have disappeared, and so has the memory leak. I did some testing using 128x128, 256x256, and 512x packs. I was able to run the 512x512 texture pack with only 1GB of RAM allocated to Minecraft, which is amazing to see. So the issue appears to be fixed for the future 1.6 release. One of the things listed in that snapshot's changelog was a "new texture loading system", and I'm guessing that Mojang rewrote the texture rendering portion of Minecraft's game engine, to better adapt to the new texture formatting added in 1.5.
If anyone is curious, I was testing on a Core i5 3570K and a HD 7870. Frame rate was always above 100 FPS with all settings maxed out, even with the 512x512 pack I tested, which was just over 200MB in size.
As noted this will be properly fixed for 1.6.
For 1.5.x there will be no further changes beyond what has been done between 1.5.1 and 1.5.2 (a quick change to make the performance more acceptable).
For 1.6 I did a huge overhaul (from 13w18c and up) of the whole texture system. When you use a highres pack you might still get slowdowns but that will be more of a hardware related issue than anything else.
Added two in-game screenshots of FPS. The only difference is adding the mycel_top image which changes the stitched terrain from 2048x2048 to 4096x2048. The FPS is currently limited by Dxtory to 30 because it likes to keep resetting that limit on me. However, the performance decrease is still large.