All geometry stops rendering randomly

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
Axensus

All geometry stops rendering randomly

Post by Axensus »

Tested on 4.12.2. It persists either until I load an older save or if I start a new map. And by that I mean "changemap" does not fix the problem. It seems to be completely random as far as each individual map is concerned and I can't tell why it's happening. PSprites are rendered, dynamic lights seem to affect them, but literally nothing else gets rendered. It looks deterministic and I can reproduce it 100% of the time using the buggy save game. If I don't use i_timescale 15, it taker longer for it to occur, meaning it's probably something tied to the gamesim. I'm unable to provide the save because it has far too many mods loaded in it, but I'm familiar with all of them so I highly doubt it's those. Not to mention HOW could a mod even cause this in the first place? Plus until 4.12 I had not seen this problem occur. If there is some additional debug option I can turn on, I might be able to provide more information.

This is a screenshot from just before it occurs.


Screenshot after it does. I have not moved a single pixel between screenshots.


Only noteworthy thing I can see is that Walls goes to 0, but for some reason the number of rendered Flats is increased. I can even pull up the automap which renders just fine.
Axensus

Re: All geometry stops rendering randomly

Post by Axensus »

I should note that world sprites also stop rendering, despite the number being non-zero in stat renderstats. Basically just a black screen with the only visible things being PSprites and UI elements.
Axensus

Re: All geometry stops rendering randomly

Post by Axensus »

Just tested 4.11.3 and this issue is not present. It is present in 4.12.0, however. For what it's worth, this happens on both backends. GPU is Radeon RX 6800 XT, latest drivers as of this post, although I highly doubt I'll get to blame AMD again this time.
User avatar
Zhs2
Posts: 1291
Joined: Fri Nov 07, 2008 3:29 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Location: Maryland, USA, but probably also in someone's mod somewhere

Re: All geometry stops rendering randomly

Post by Zhs2 »

This happened to me too. All I can personally tell is that at 1:56:02 of gametime (243670 tics) in this most recent save I've been playing neither geometry nor actors render, and of course I've got the same problem of a giant loadlist for the save that can reproduce this... The game is a completely black space outside of HUD elements. The most interesting tidbit to know from there is that for some reason this affects solely first person view, NOT chasecam.

Also happened to this streamer. Timestamp is 6262, or 1:44:22.
Axensus

Re: All geometry stops rendering randomly

Post by Axensus »

Were you using the daynight cycle mod and corruption cards? I feel like it's one of those causing the problems somehow. Just don't know which.
Axensus

Re: All geometry stops rendering randomly

Post by Axensus »

Turns out the bug is a duplicate of https://github.com/ZDoom/gzdoom/issues/2561
This can be closed.
Axensus

Re: All geometry stops rendering randomly

Post by Axensus »

Nevermind! Apparently it's not the same. Turning off node caching or clearing the cache doesn't do anything to help with this so I'm back to not knowing why the hell it happens.
User avatar
Zhs2
Posts: 1291
Joined: Fri Nov 07, 2008 3:29 pm
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Location: Maryland, USA, but probably also in someone's mod somewhere

Re: All geometry stops rendering randomly

Post by Zhs2 »

This issue is closed for good now, but for future edification this was caused by ViewRoll being allowed to shrink infinitely past very small values and into the epsilon horizon instead of being directly zeroed. You can avoid this by doing the following in your user code, with any applicable floats and doubles (sample taken from Deathstrider):

Code: Select all

		ViewRoll *= 0.85;
		if (abs(ViewRoll) < 0.0001)
		{
			ViewRoll = 0;
		}

Return to “Closed Bugs [GZDoom]”