CaffeineMC / sodium

A Minecraft mod designed to improve frame rates and reduce micro-stutter
Other
4.8k stars 812 forks source link

Investigate vanilla regression in animated texture rendering performance #724

Closed mrmangohands closed 3 years ago

mrmangohands commented 3 years ago

Is your feature request related to a problem? Please describe. A user reported a substantial regression in performance with 1.17 that turned out to be caused by their 256x resource pack. This is something we might be able to address in Sodium.

Additional context Locally I'm seeing about a 30-50% increase in frame times from 1.16 in the same scene, and jfr does indicate that more time is being spent on animated textures in 1.17 (consistent 95% of the render thread in Sprite$Interpolation.apply() vs 75-90% in 1.16).

image

image

JFR snapshots pictured above

Egietje on discord (original reporter) also took some spark profiles, but they only show 8% of time being spent on animated textures even in 1.17. Not surprising that I'm being hit harder on the windows amd driver than someone on an nvidia, but 8% seems low given the difference they're seeing (frame times as much as tripled while flying through a scene on a consistent path). Also worth noting they were testing with Sodium while I was testing with vanilla.

1.16.5: https://spark.lucko.me/9wDVWAdv3Y 1.17: https://spark.lucko.me/z9h4xRVrMR Apparently vsync was on for the above two as well

Edit: Got some jfr profiler data from Egietje as well, which are much more in line with my results than the spark data Egietje JFR.zip

jellysquid3 commented 3 years ago

Resolved in large part with 119ed66d.