-
Bug
-
Resolution: Unresolved
-
None
-
25w02a
-
Community Consensus
-
Performance, Rendering
The bug
The way in which leaf litter blockstates is wasteful; more planes are used than are actually needed to achieve said visual result.
The current system works as follows: each of the four segments is its own model. For only one piece of leaf litter in a block, this is already optimal, however this becomes wasteful when we increase the amount:
- two pieces of leaf litter can easily be done using an 8x16 pixel flat plane rather than two 8x8 planes. This brings the number of faces from 4 to 2.
- three pieces can be done with the aforementioned 8x16 plane alongside the currently used 8x8 plane, rather than three 8x8 planes. This brings the number of faces from 6 to 4.
- four pieces can be very easily done using just one flat plane covering the entire block face. This brings the number of faces from 8 to 2.
As leaf litter is very common in forested biomes, we should be aiming to reduce its rendering performance impact.
How to reproduce
As MC-118624 still remains unfixed, we will need to set up our test environment manually.
- Create this superflat world:
minecraft:grass_block;minecraft:the_void
- Run these commands:
/fill -90 -63 -90 90 -63 90 minecraft:leaf_litter[segment_amount=4]
,
/fill -90 -62 -90 90 -62 90 minecraft:grass_block
,
/fill -90 -61 -90 90 -61 90 minecraft:leaf_litter[segment_amount=4]
,
/fill -90 -60 -90 90 -60 90 minecraft:grass_block
,
/fill -90 -59 -90 90 -59 90 minecraft:leaf_litter[segment_amount=4]
,
/fill -90 -58 -90 90 -58 90 minecraft:grass_block
,
/fill -90 -57 -90 90 -57 90 minecraft:leaf_litter[segment_amount=4]
,
/fill -90 -56 -90 90 -56 90 minecraft:grass_block
,
/fill -90 -55 -90 90 -55 90 minecraft:leaf_litter[segment_amount=4]
- Enter flying mode and run the command
/tp @s 0 100 0 0 90
- Compare framerates with and without the attached resource pack using F3+2
Expected results
Ideal framerates in vanilla.
Actual results
The resource pack demonstrates that there is indeed room for improvement.
How to fix
Use this system for leaf litter models, rather than vanilla's current approach. I give Mojang full permission to use and implement the attached assets.
Further notes
I have considerably upgraded my PC setup since the last model optimization report, so you'll be seeing less of a performance boost in the attached screenshots compared to previously, but there is definitely an improvement.
- relates to
-
MC-262427 Flower pots and potted objects have very poorly optimized models and strange texture mapping
- Open
-
MC-262452 Hopper models are unoptimized and cause rendering lag
- Open
-
MC-262461 Stair models are unoptimized and can cause rendering lag
- Open
-
MC-262470 Cauldron models are very unoptimized, causing render lag
- Open
-
MC-262527 Item frame models are quite unoptimized
- Open
-
MC-262641 Chorus flower models are incredibly unoptimized and cause serious rendering lag
- Open
-
MC-262689 Hanging mangrove propagule models are comically unoptimized
- Open
-
MC-262953 Fence gate models are very unoptimized, causing lag among other issues
- Open
-
MC-267127 Composter model is unoptimized, causing extra rendering lag
- Open
-
MC-267281 Fence multipart model system performance optimization
- Open
-
MC-267315 Rendering performance optimization for glass pane models
- Open
-
MC-267864 Two-tall plant model/rendering not optimized
- Open
-
MC-260296 Pink petal block models are not optimized
- Resolved
-
MC-262652 Dragon egg's side texture is mapped strangely as of 1.8 (and the model is also unoptimized)
- Resolved