sultim-t / prboom-plus-rt

823 stars 49 forks source link

Performance dropping with DLSS on #24

Closed jerry-2k22 closed 2 years ago

jerry-2k22 commented 2 years ago

Hello there,

My system has an Intel i5 8400, an Nvidia GeForce RTX 2060 6GB, 32 GB of Corsair DDR4 2666Mhz RAM. This project is running off of a Samsung 970 Pro NVMe SSD. The latest Nvidia Display drivers are installed as well.

However, whenever I try to activate DLSS modes (other than Ultra Performance), the frame rate drops to worse than what was achieved when DLSS was off. With Ultra Performance mode, the game hits near 60 FPS.

I've tried setting the in-game resolution to 1080p, 1440p, and 4K. But still no difference in the DLSS behaviour. This is confusing me as DLSS should be boosting frame rates, not dropping them to as low as single digits. The game settings are at default as well.

Any idea what I can do to remedy this? Or is an RTX 2060 just unable to play at 60 FPS?

sultim-t commented 2 years ago

I assume you have a 4k monitor? Currently, techniques upscale to the desktop resolution, i.e. to 4k in your case.

You can enable classic fullscreen mode in Settings->Prboom->General->Fullscreen and change Screen Resolution to 1080, for example. After that, upscaling will be done to 1080 instead of 4k

sultim-t commented 2 years ago

Oh, wait, it doesn't work like this... For now, it's setting the display resolution to a lower value (like 1080p) manually, in the Windows settings :/

jerry-2k22 commented 2 years ago

I came to the same conclusion as well. I'll try deleting all the project files, and copy them again. Maybe a proper reset might do the trick.

jerry-2k22 commented 2 years ago

Well, I downloaded the latest release, copied over the DLSS and DOOM wad files. Started up the game (without altering any other settings), and just set DLSS to Quality. Framerate tanked to single digits. I had 60 FPS with DLSS off.

Followed your earlier advice of setting the resolution to 1080p via the PRBoom General settings (which renders the game in a window). Set DLSS to Quality mode, and the framerate is 60 (and possibly above, as my monitor can only do 4K 60Hz max). Weird behaviour.🤔

EDIT: I forgot to mention I'm using the latest version of Windows 11, with the latest Nvidia drivers.

sultim-t commented 2 years ago

Render size, FSR, DLSS are orthogonal. Resolution is a window size (by definition, fullscreen = just a window that covers whole screen). Render size and resolution are orthogonal too. Render size, FSR, DLSS affect only the 3D world, not the UI. Rendered 3D world image is being upscaled to the Resolution by all three techniques.

So target of FSR / DLSS is 4k in your case, i.e. "quality mode" tries to render in 1800p, for example.

jerry-2k22 commented 2 years ago

I see. So I think Ultra Performance mode does the trick? So far that's the only stable DLSS setting that gets me playable framerates.

Also pardon my ignorance, but why is raytracing very heavy in this game? Is it calculating shadows, reflections, global illumination, and ambient occlusion all at once? As far as I know, in most modern games, each component can be raytraced separately (if given the option).

jerry-2k22 commented 2 years ago

Managed to get around 60 FPS in-game performance while keeping resolution at 4K. Setting Fullscreen Video Mode to On, Aspect Ratio to 16:9, and DLSS to Ultra Performance worked.

From what I read in the case of 4K, Ultra Performance DLSS sets internal resolution to 720p and does its AI upscaling to 4K. Which is the same performance I get from manually setting the game resolution to 720p without DLSS enabled. I learned something new today. Thanks a lot for your assistance, Sultim.🥃

EDIT: Dang it! Frames started dropping even in Ultra Performance DLSS mode. Guess there's some overhead somewhere. Manually lowered the resolution to 720p and turned DLSS off. Flawless 60 FPS so far. Still, thanks a lot for your assistance, Sultim.🥃