Replay Mod (Fabric & Forge)

Replay Mod (Fabric & Forge)

787k Downloads

1.15.2 Rendering hung up

lenrik1589 opened this issue ยท 10 comments

commented

When pressing Render Rendering Video GUI appears but then game hangs up forever (14h) (the best i could get ~760 frames but other times - 0 frames)
The sad thing is: No crash, no error, it just stops.
Screenshot from 2020-05-01 00-30-39
java 14; fabric 0.8.2+build.194; Ubuntu 19.10; intel i3-7100u with integrated graphics; ffmpeg version 4.1.4-1build2; fabric api 0.5.1+build.294-1.15

commented

I got the same on one of my recordings, but when I try on another one with less camera movement, it does not stop

commented

when I try on another one with less camera movement, it does not stop

Won't do for me sadly :(

commented

Could you try to use VisualVM to grab about 5 or so thread dumps of the game while it is frozen (with at least a second apart each)?

Also, would you mind sharing one of the replays with the exact camera path already configured and the value of your render distance setting, so I can check if it happens on my machine as well?

And just to verify: You're using ReplayMod 1.15.2-2.3.0-b1 and no Optifine is involved, correct?

commented

http://www.mediafire.com/file/m5e43fzgwcwahs4/ReplayModGithub.zip/file, that version of replay mod, no optifine, but sodium's present, sorry for such a long delay.

commented

Could you try it without Sodium? It appears to change the way chunk updates are handled and the RM depends on MC internals in that area (because it wants to wait for all chunks to be loaded/updated before rendering each frame). So, the likelihood for conflict there is quite high (e.g. OF also does something in that area and it did cause the rendering to freeze until I added code to the RM specifically to address OF. seems likely Sodium would need specific handling as well).

commented

No, it's specifically Sodium's changes to ChunkBuilder's scheduling which makes RM's changes no longer function properly.

commented

oh yea, issue resolves w/o sodium but if sodium will support fabric rendering API will it work? Jelly just says that She haven't implemented API support yet.

commented

I think we could add a small API to Sodium in the near future so other mods can block until all chunk updates are uploaded. We re-implement large swaths of the renderer to get the maximum parallelization of chunk updates, so things are a bit different on our side.

// Get the chunk renderer for the specified world
ISodiumChunkRenderer renderer = SodiumAPI.IMPL.getChunkRenderer(world);
// Block until all chunk updates in the work queue are uploaded
renderer.updateAllDirtyChunks();

Would something like this be sufficient for ReplayMod's purposes?

commented

@jellysquid3 Yup, that'd be great.

commented

Hey, I am having this exact same problem where minecraft freezes and is "not responding" but does never crash during rendering after making it at most around 800 frames through. However, i do not have sodium, But I do have optifine, and optifabric alongside my fabric, and fabric api. If anyone could please help me with this that would be amazing, I really want these timelapses. Also, I would love to be able to keep shaders.