[Optimization Issue] Glistering honey crystal lag
alexmozaidze opened this issue · 7 comments
Glistering honey crystal eats up a lot of resources when batched together, which is especially noticeable when using shaders.
Without shaders GPU utilization is at 10-11% (normally 5-7%), while with shaders it's 99-100% (normally 30-50%).
Minecraft version: 1.21.1
Bumblezone version: 7.7.9
GPU: AMD Radeon RX 5700
Other info: Sodium, ScalableLux, Lithium, and Iris are all installed in my testing environment
Thank you! It still puts a strain on the GPU, but 90 FPS is much beter than 15-30 FPS.
Glistering Honey Crystal is just a full block with a few planes inside using transparent textures. The planes inside are to have the sparkle glints pixels just appear and disappear.
This is an issue report better suited for Iris than Bumblezone as my block is pretty normal and not that special. If this is an edge case that Iris can’t handle rn, then it should look into a solution to work with transparent blocks that have inner planes as I am really prefer not crippling the desired look of my block because other mods can’t handle it properly
Well Iris closed it basically saying my block is the issue due to having inner planes but the planes are essential to its look. You’ll just have to live with the fact that Iris is unable to handle multiple planes in blocks that are transparent throughout
Still, this just doesn't sound very good. I feel like this could be fixed by using directional particles or some other technique. Having a lot of faces is detrimental to performance from my experience, let alone having them to be transparent and animated.
I don't think it's another mod's issue, it's just that Iris reveals the issue much more clearly. Would you look forward to accepting a PR if someone tried to fix this issue?
The entire point of the block is to be see-through, glistering animated particles inside that are thick and plentiful, and used for the many spikes in crystal canyon. Any change you do to the looks will likely be rejected as it will not fit the vision I wanted for my block and make it look worse.
The only possible thing that could be done is a cutout rendertype for the inside planes but making that work is painful as it requires composite loader on neo/forge and FRAPI dedicated implementation on fabric. Small scale test does show some improvement of performance for cutout rendertype inside