Low-Drag-MC / Shimmer

A mod that integrates my passion for rendering
MIT License
70 stars 22 forks source link

Crash when entering world with ModernUI #11

Closed qznfbnj closed 2 years ago

qznfbnj commented 2 years ago

Minecraft Version

1.18.2

Shimmer version

Shimmer-1.18.2-0.4

Modpack info or mod list

No response

The latest.log file

https://gist.github.com/qznfbnj/abd2d13a6b4c46a9520f32932c1722ef

optifine , Rubidium , flywheel or any rendering related mods. mod versrion is required.

ModernUI-1.18.2-3.4.5.106-universal

Issue description

Install Shimmer-1.18.2-0.4 and ModernUI-1.18.2-3.4.5.106-universal, using forge-40.1.48, then crash on entering world. Each of them can work fine alone.

Steps to reproduce

  1. Install Forge-40.1.48
  2. Install Shimmer-1.18.2-0.4
  3. Install ModernUI-1.18.2-3.4.5.106-universal
  4. Enter a world
  5. Crash

Other information

No response

Yefancy commented 2 years ago

have no crash report?

qznfbnj commented 2 years ago

No found. But BakaXL gives https://gist.github.com/qznfbnj/2c80c0fb46c137bc4a762776db0af023

qznfbnj commented 2 years ago

更新:将 config\ModernUI\text.toml 中的 allowShadow = true 改为 allowShadow = false 就能让 Shimmer-1.18.2-0.4 和 ModernUI-1.18.2-3.4.5.106-universal 一起工作

Yefancy commented 2 years ago

thank you, will see what we can do

qznfbnj commented 2 years ago

更新:将 config\ModernUI\text.toml 中的 allowShadow = true 改为 allowShadow = false 就能让 Shimmer-1.18.2-0.4 和 ModernUI-1.18.2-3.4.5.106-universal 一起工作

哦不,这样做是能进游戏,但是微光就没效果了……

qznfbnj commented 2 years ago

更新:将 config\ModernUI\text.toml 中的 allowShadow = true 改为 allowShadow = false 就能让 Shimmer-1.18.2-0.4 和 ModernUI-1.18.2-3.4.5.106-universal 一起工作

哦不,这样做是能进游戏,但是微光就没效果了……

奇怪,刚又试了几次,allowShadow = true 根本不行,得将 config\ModernUI\bootstrap 中的 0 改为 1,直接关掉ModernUI的文本引擎后,才能同时使用 Shimmer-1.18.2-0.4 和 ModernUI-1.18.2-3.4.5.106-universal

zomb-676 commented 2 years ago

fixed , see #12 the next released version will work correctly

BloCamLimb commented 2 years ago

要是UBO绑定的问题的话,不用加offset,每次渲染重新BindBufferBase即可

zomb-676 commented 2 years ago

一些频繁使用的RenderType都用到了UBO,chunkBufferLayers都有用到 频繁用glBindBufferBase glBindBuffersBase glBindBufferRange glBindBuffersRange 修改Buffer Objectbinding point也许会有性能上的问题?常常都有说切换状态开销大,但未见过具体的

particled rendertype_solid rendertype_cutout rendertype_cutout_mipped rendertype_translucent rendertype_armor_cutout_no_cull rendertype_entity_cutout rendertype_entity_cutout_no_cull rendertype_entity_cutout_no_cull_z_offset rendertype_entity_decal rendertype_entity_no_outline rendertype_entity_smooth_cutout rendertype_entity_solid rendertype_entity_translucent rendertype_entity_translucent_cull

Yefancy commented 2 years ago

一些频繁使用的RenderType都用到了UBO,chunkBufferLayers都有用到 频繁用glBindBufferBase glBindBuffersBase glBindBufferRange glBindBuffersRange 修改Buffer Objectbinding point也许会有性能上的问题?常常都有说切换状态开销大,但未见过具体的

particled rendertype_solid rendertype_cutout rendertype_cutout_mipped rendertype_translucent rendertype_armor_cutout_no_cull rendertype_entity_cutout rendertype_entity_cutout_no_cull rendertype_entity_cutout_no_cull_z_offset rendertype_entity_decal rendertype_entity_no_outline rendertype_entity_smooth_cutout rendertype_entity_solid rendertype_entity_translucent rendertype_entity_translucent_cull

每帧只用绑一次ubo的位置

Yefancy commented 2 years ago

只是担心 有别的 mod用ubo只绑一次的话,就会被覆盖掉了。所以有配置文件是好的

zomb-676 commented 2 years ago

每帧重绑定有点粗,我担心有别的mod在binding point被占用期间对其进行修改,又不改回去,或者它自己也需要长时间高频次利用