FalseTweaks icon indicating copy to clipboard operation
FalseTweaks copied to clipboard

Layered snow flickering

Open FalsePattern opened this issue 2 years ago • 6 comments

Looks like a different bug from the other chunk flicker incidents, so i'm moving it here instead.

https://github.com/FalsePattern/FalseTweaks/assets/106000018/54e29342-ad4c-4d8d-8f03-8498984edf80

Originally posted by @Omgise in https://github.com/FalsePattern/FalseTweaks/issues/142#issuecomment-1826794029

FalsePattern avatar Nov 26 '23 14:11 FalsePattern

@Omgise please try setting DISABLE_BLOCKING_CHUNK_UPDATES to true in falsetweaks.cfg, threading category, and see if it still happens.

FalsePattern avatar Nov 26 '23 14:11 FalsePattern

Still happen

https://github.com/FalsePattern/FalseTweaks/assets/106000018/2d8c2d70-549c-4f98-980b-817c8bf3edc4

Omgise avatar Nov 26 '23 14:11 Omgise

Snowflakes no longer flicker after Notfine is removed

https://github.com/FalsePattern/FalseTweaks/assets/106000018/d9b4bbf2-0e98-4255-acef-8fa2fc6ad700

Omgise avatar Nov 29 '23 12:11 Omgise

This appears to be related to multithreaded chunk rendering. In vanilla anything using a Block instances minX, maxX, minY, maxY, minZ, or maxZ is not thread safe. setBlockBoundsBasedOnState gets called once per block at minimum in RenderBlocks, and in the case of layered snow that changes the maxY. shouldSideBeRendered is called after, and NotFine makes it use the maxY value that was set just before when determining if face culling should occur.

I would suggest rolling back to NotFine 0.1.0 for now.

jss2a98aj avatar Nov 30 '23 11:11 jss2a98aj

Angelica implements ASM to make those calls thread-safe which means Angelica's implementation of threaded rendering should just Work™. Be wary: Angelica is still in alpha so be careful what you do with it

Roadhog360 avatar Feb 01 '24 20:02 Roadhog360

I've ported over the minmax threading fix from angelica to falsetweaks in a local branch, so this bug will finally be fixed in the next update.

FalsePattern avatar Feb 01 '24 23:02 FalsePattern

Should be fixed in 3.0.0 beta

FalsePattern avatar May 23 '24 08:05 FalsePattern

Yes, 3.0.0 beta fixed it

Omgise avatar May 23 '24 08:05 Omgise