ZDoom / gzdoom

GZDoom is a feature centric port for all Doom engine games, based on ZDoom, adding an OpenGL renderer and powerful scripting capabilities
http://zdoom.org
GNU General Public License v3.0
2.43k stars 536 forks source link

[BUG] Sector fade artifacts #2339

Open Player701 opened 8 months ago

Player701 commented 8 months ago

GZDoom version

4.11.3 and g4.12pre-274-gf5c496490

Which game are you running with GZDoom?

Doom 2

What Operating System are you using?

Windows 11

Please describe your specific OS version

Windows 11 Pro 22H2

Relevant hardware info

NVIDIA RTX 4090, driver version 546.33

Have you checked that no other similar issue already exists?

A clear and concise description of what the bug is.

It appears that a certain combination of graphics settings may cause some artifacting whenever a sector with a Sector_SetFade effect comes into or out of the player's view. In the particular scenario where I am able to reproduce this bug reliably, the artifacts appear as small red-colored veritcal patches. However, if bloom is enabled, they sometimes become much more evident, manifesting in the form of large red circles:

image

The above image is a cropped still from a video recording made with OBS-Studio - I could not take a screenshot because these artifacts never stay on the screen for a long enough time. They only appear very briefly while the player is moving and/or turning around.

Steps to reproduce the behaviour.

In GZDoom g4.12pre-274-gf5c496490:

  1. Use the ini file: gzdoom_portable.zip.
  2. Use the demo file: fade-artifact.zip
  3. You will also need the Dark Encounters megawad.
  4. The demo should produce the artifacts at least a couple times. If you want to try it manually, the spot is on MAP09 at these coordinates: X = -896, Y = 2304.

Your configuration

See link above

Provide a Log

N/A

coelckers commented 8 months ago

I cannot get it reproduced. This one's hard to pinpoint, it may even be a driver problem that causes single bad pixels to be rendered which then get blown up by the postprocessor.

Player701 commented 8 months ago

I just checked on my laptop (RTX 4080, same driver version), and the bug appears there also.

I assume you did use the provided ini file? I could not pinpoint the exact combination of settings that trigger the issue, but if you use the entire ini as-is, it should work.

coelckers commented 8 months ago

I used your INI and got nothing on my RTX 3060.

Player701 commented 8 months ago

Strange. If the driver version is also the same, perhaps it only manifests with 40 series cards? No other ideas so far...

prof-hastig commented 8 months ago

I cannot get this either. So my suggestion would be to attach a video on which the artifact can be clearly seen. Maybe that will give an idea.

Player701 commented 8 months ago

OK, I will record a video of the demo later today or maybe tomorrow - not at my PC right now and don't have the laptop with me. Please don't close this in the meantime.

Player701 commented 8 months ago

Here is the video as promised: https://www.youtube.com/watch?v=P92sVjnJyVk

This video is a recording of the demo file provided in the original report.

Keep your eye on the vertical strip of green light in the distance - that belongs to a sector with a fade effect. The artifacts, which manifest mostly as huge red circles (as previously described) appear there several times throughout the video, but each of them lasts only a split second.

The circles themselves are a by-product of the bloom effect, as both Graf and I have assumed. Turning bloom off only makes them less prominent, however - it does not get rid of them entirely.

coelckers commented 8 months ago

Do you have the video as file? Since on Youtube I cannot freeze frame there is no way to investigate. Even better would be something without bloom because that just obscures what's interesting.

Player701 commented 8 months ago

I have a raw video file recorded at my native framerate (144 FPS), and I can share it, but obviously it is very large - over 4 GB. Since there is a lot of movement in there, it does not compress very well with e.g. FFmpeg in regard to picture quality, no matter how I adjust the encoder settings (or maybe it's just me, as I do not have a lot of experience with those).

I can also re-record without bloom. Do you need the raw or compressed file? I will upload to my own private server with a 100 MBit/s uplink, so even uncompressed it should not take very long to download.

Player701 commented 8 months ago

Since I haven't received any reply to clarify the initial request, I'm sending the uncompressed video for now, recorded without bloom. Download here. Caution: it's 4.7 GB!

I can also send a compressed version, but unless you can suggest the encoder settings I should use with FFmpeg, there will be very noticeable compression artifacts, which may hinder further investigation.