Hopper models are unoptimized and cause rendering lag
The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes MC-246224 to be visible upon close inspection.
It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and MC-246224 is eliminated (although MC-73186 can take its place).
How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void
- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90
- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (see MC-262454 for more information). I give full 100% permission and encouragement to Mojang to use these assets in the game.
Linked Issues
testing discovered1
relates to15
Created Issue:
Hopper models are unoptimized and cause rendering lag
Closely related to MC-262427 and
MC-262433.The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (a report on this is upcoming). I give full 100% permission and encouragement to Mojang to use these assets in the game.
Closely related to MC-262427 and
MC-262433.The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (a report on this is upcoming). I give full 100% permission and encouragement to Mojang to use these assets in the game.
Closely related to MC-262427 and
MC-262433. Testing discoveredMC-262453.The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (see
MC-262453for more information). I give full 100% permission and encouragement to Mojang to use these assets in the game.
relates to
relates to
Closely related toMC-262427 andMC-262433. Testing discoveredMC-262453.The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (see
MC-262453for more information). I give full 100% permission and encouragement to Mojang to use these assets in the game.Testing discovered
MC-262453.The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (see
MC-262453for more information). I give full 100% permission and encouragement to Mojang to use these assets in the game.
relates to
Testing discovered
MC-262453.The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (see
MC-262453for more information). I give full 100% permission and encouragement to Mojang to use these assets in the game.Relates to
MC-252693,MC-260296and MC-262527.Testing discovered
MC-262453.The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (see
MC-262453for more information). I give full 100% permission and encouragement to Mojang to use these assets in the game.
Relates to
MC-252693,MC-260296andMC-262527.Testing discovered
MC-262453.The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (see
MC-262453for more information). I give full 100% permission and encouragement to Mojang to use these assets in the game.Relates to
MC-252693,MC-260296, MC-262527,MC-262652and MC-262689.Testing discovered
MC-262453.The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (see
MC-262453for more information). I give full 100% permission and encouragement to Mojang to use these assets in the game.
relates to
relates to
relates to
relates to
relates to
Relates to
MC-252693,MC-260296,MC-262527,MC-262652andMC-262689.Testing discovered
MC-262453.The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (see
MC-262453for more information). I give full 100% permission and encouragement to Mojang to use these assets in the game.Relates to
MC-252693,MC-260296andMC-262652.Testing discovered MC-262454.
The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (see
MC-262453for more information). I give full 100% permission and encouragement to Mojang to use these assets in the game.
testing discovered
relates to
Relates to
MC-252693,MC-260296andMC-262652.Testing discovered MC-262454.
The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (see
MC-262453for more information). I give full 100% permission and encouragement to Mojang to use these assets in the game.
relates to
The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (see
MC-262453for more information). I give full 100% permission and encouragement to Mojang to use these assets in the game.The bug
The models that hoppers use are notably unoptimized, using many more texture planes than are neccessary. This causes rendering lag in areas where a lot of hoppers are present, such as automatic storage facilities.
Implementation
Both vanilla hopper models (downwards and horizontal) use 32 texture planes to render parts of the block, most of which are at the top and are used for rendering the concavity. However, many of these are coplanar, which results in flat surfaces using more than a single quad to render when only one is neccessary. This also causes
MC-246224to be visible upon close inspection.It's possible to do both hopper models using just 21 texture planes instead. The end result is the same, and
MC-246224is eliminated (although MC-73186 can take its place).How to reproduce
- Download the optimized hopper resource pack attached to this ticket
- Create the following superflat world:
minecraft:barrier,10*minecraft:hopper;minecraft:the_void- Set your render distance to 2 and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 90- Open the performance debug bars using Alt-F3
- Compare the performance you get when using vanilla's hopper model versus the optimized hopper model from the resource pack attached
How to fix
I've made this fix very simple - you just need to replace the current hopper model files (hopper.json and hopper_side.json) with the ones in the resource pack. The hopper_top.png texture file, in both the current default textures and Programmer Art, will also have to be replaced with the textures included in the resource pack as well (see MC-262454 for more information). I give full 100% permission and encouragement to Mojang to use these assets in the game.
The bug
The models for normal straight stairs as well as concave corner stairs use more planes than they need to define their shape, which can contribute to rendering lag as stairs are a commonly-used block in building.
Straight stairs use two cuboids, one with six faces and another with five. A visually identical result can be achieved by using two intersecting cuboids which have five faces each. While this reduction of only one face is far less than that of MC-262452 and MC-262433, the more widespread use of stairs causes this to stack up quite a bit.
Inner corner stairs use three cuboids which share 15 faces among themselves. It's possible to recreate this shape as well by using three correctly-arranged elements that only have four faces, bringing the number of faces the game needs to render per block down to 12.
Outer corner stairs appear to be optimal as is and can remain as they are - this resource pack does not touch their model.
I have tested these models thoroughly, and can confirm that they produce visually identical results to the vanilla models; the only cases in which they differ is when clipping inside of them via Spectator mode, which is not a concern. (A minor issue which is also the cause of MC-246224/MC-73186 may cause incredibly subtle jittering due to pixel misalignment, however this is virtually unnoticeable and can be completely ignored. I've tested these two models with the "Model Gap Fix" Fabric mod for 1.19.4, and the issue is absent there.)
How to reproduce
- Download the attached resource pack
- Create a superflat world with this preset:
minecraft:barrier,10*minecraft:sandstone_stairs;minecraft:the_void
- Set both render distance and simulation distance to 5
- Execute the command
/tp @s 0 -50 0 0 0
- Press Alt-F3 to show the FPS bars
- Compare performance
How to fix
The fix for this should be very, very simple. The resource pack attached to this ticket contains optimized versions of stairs.json and inner_stairs.json. The versions of these models in the current Minecraft development branch should be replaced with the models provided in the resource pack.
The bug
Cauldrons are perhaps one of the most complex block models in vanilla Minecraft, using 58 texture planes. We can therefore expect pretty much any situation which uses a lot of cauldrons, such as an automatic dripstone lava farm, to cause quite a significant amount of rendering lag due to having to render several tens of planes per cauldron. We, however, can do better.
Attached to this ticket is a resource pack which perfectly recreates the vanilla cauldron (and I've thoroughly tested this to be sure; there are no visual differences unless you clip inside of the cauldron) using just 46 texture planes instead, cutting out 12 unneccessary texture planes. This resource pack also fixes the three cauldrons containing a fluid level (adding in one extra plane to fix MC-205095).
It would be possible to optimize cauldrons even further using an approach described in MC-262427 and also utilized in MC-262452. However, due to MC-262462, this cannot currently be done.
How to reproduce
Refer to MC-262427, MC-262452 and/or MC-262461 and extrapolate.
How to fix
Replace the "cauldron.json", "template_cauldron_level1.json", "template_cauldron_level2.json" and "template_cauldron_full.json" files currently in Minecraft with the model files in the resource pack. Mojang have my full permission to use these optimized model files. Optimization is always a good thing.
Relates to: MC-260296 MC-262427 MC-262452 MC-262461 MC-262470 MC-262527 MC-262641 MC-262652 MC-262689 MC-262953 MC-267127 MC-267315 MC-267864 MC-279350
The bug
The current multipart system for walls can use more quads than are necessary to achieve an identical visual result. Making Minecraft render more quads increases render lag, so decreasing the amount needed will improve performance.
The case in question is much the same as MC-267281, arising where two opposite connections of a wall are either both "low" or both "tall". Minecraft, by default, will render one model in each direction, with a total of two. However, the exact same visual outcome can be achieved using a single, continuous model, reducing the amount of quads used for this case from 10 to 6. Since there are no texture mapping issues on walls (unlike MC-109478 and MC-225819/MC-267871), this fix also completely preserves their appearance, so we get no bonus fixes.
How to reproduce
- Create this superflat world:
minecraft:barrier;minecraft:the_void
- Initiate flying mode
/fill -30 -63 -30 30 -56 30 cobblestone_wall
/fill -30 -55 -30 30 -48 30 cobblestone_wall
/tp @s 0 0 0 0 90
- Compare framerates with and without the attached resource pack using F3+2
Expected results
Vanilla's framerates would be ideal.
Actual results
The resource pack gives better results.
How to fix
Adopt the system demonstrated by this resource pack for walls. I give Mojang full permission to use this resource pack to fix this optimization problem.
Relates to: MC-260296 MC-262427 MC-262452 MC-262461 MC-262470 MC-262527 MC-262641 MC-262652 MC-262689 MC-262953 MC-267127 MC-267281 MC-267315 MC-267864 MC-279350 MC-279354
The bug
Bamboo fences, like other fence types (see MC-267281), are not modelled in a way which is optimal for rendering performances. As a result, areas which use large amounts of bamboo fences will decrease framerate much more than otherwise should be the case.
Bamboo fences use a fundamentally different system for modelling compared to other fences, which is why I'm reporting this separately from the other fences. Tragically the issues with the normal fence model have carried over to the system used for bamboo fences.
The model system bamboo fences use is also more complicated than is neccessary - it uses four models for orthogonal connections, whereas this optimized system achieves a visually identical outcome using just three.
Note that since bamboo models use a unique texture rather than just copying the bamboo planks texture, the texture mapping will need to be shifted around. A modified version is found within the attached resource pack - the visual outcome will be identical, but existing resource packs will need to be changed by their authors to fit around it (assuming they don't take the lazy route and just copy over the old, terrible models).
How to reproduce
- Create a creative Superflat world with the following preset:
minecraft:barrier;minecraft:the_void
- Enter flying mode by double pressing the jump button
- Run the command
/tp @s 0 -20 0 0 90
- Run the command
/fill -30 -63 -30 30 -56 30 bamboo_fence
- Open the performance graphs via F3+2
- Switch between the default resources and the attached resource pack, comparing the performance
Expected results
Good framerates in vanilla.
Actual results
We can do far better.
How to fix
Simply implement the resources in the attached resource pack into vanilla. I give Mojang my full permission and encouragement to use these files to make vanilla Minecraft run better.
Further notes
Mipmapping will be affected, however this is a non-issue.
The bamboo fence item model is also updated to fit the new system.
Many of the old model files can be safely deleted once the new ones are added, as this improved system renders them completely superseded.

