Parallellines0451 / GTAIV.EFLC.FusionShaders

Various shader fixes and improvements for GTA IV & EFLC.
GNU General Public License v3.0
149 stars 4 forks source link

[Feature Request] FSR 1 / Dynamic Resolution Scaling #21

Closed RecklessGlue540 closed 1 year ago

RecklessGlue540 commented 1 year ago

Would FSR 1 be possible in GTAIV? Not asking for FSR 2 or 3 since those require motion vectors to work (couldn't they be hacked since this is a pretty old game? But then it would need d3d12 or vulkan which isn't possible) but FSR 1 should technically work since it only requires an image.

ghost commented 1 year ago

Some info here: https://jntesteves.github.io/shadesofnoice/graphics/shaders/upscaling/2021/09/11/amd-fsr-demystified.html

DX9 probably doesn't support this but dont quote me on that

RecklessGlue540 commented 1 year ago

Yeah looks like the only supported APIs are d3d11, d3d12 and vulkan according to this article: https://gpuopen.com/fidelityfx-superresolution/

I wonder if DXVK has the ability to bypass API restrictions in the translation (Draw Call limits were bypassed / increased, no idea if it would also allow MSAA or even Tessellation to work in general, i mean).

MagicAl6244225 commented 1 year ago

You can get the same upscaling algorithm as FSR 1 by enabling Radeon Super Resolution in the driver software. FSR1 is a little more sophisticated because the HUD and certain postFX be native resolution at the same time, but I wonder if in GTA IV, the postFX being high res would cancel most of the peformance gain compared to RSR.

RecklessGlue540 commented 1 year ago

You can get the same upscaling algorithm as FSR 1 by enabling Radeon Super Resolution in the driver software.

Not everyone has a a Radeon 5000 series (or higher) gpu for that tho. Also does it work with both D3D9 and DXVK? People have also said AMD Fluid Motion Frames (Frame Generation) work with DXVK (Even in Emulators which is kinda crazy).

FSR1 is a little more sophisticated because the HUD and certain postFX be native resolution at the same time, but I wonder if in GTA IV, the postFX being high res would cancel most of the peformance gain compared to RSR.

It should bring back some frames but honestly Dynamic Resolution Scaling would work much better now that i think about it. AMD Drivers (Radeon Boost) can do it to some extent, but it's a bit confusing in my opinion. Ideally it would have been better if you could just select a starting resolution and a maximum resolution. Still no idea about D3D9 supporting anything like that. Rockstar really should have at least port it from the start to D3D10 / 10.1 . At least then we could have used something like MSAA (Kind of a shame since the Xbox 360 had about two samples of it) - even implement TXAA like in GTAV now that we have the tools for it. I think they planned that initially since the folder name atidx10 sounded a bit promising. Max Payne 3 has both atidx9 and atidx10 folders each corresponding to their DirectX feature levels (APIs) so thats interesting.

MagicAl6244225 commented 1 year ago

You can get the same upscaling algorithm as FSR 1 by enabling Radeon Super Resolution in the driver software.

Not everyone has a a Radeon 5000 series (or higher) gpu for that tho. Also does it work with both D3D9 and DXVK?

RSR works if it's enabled in the driver and the game is set to run at one of the recommended resolutions, such as 1080p or 1440p on a 4K display. Not sure about DXVK; I have always gotten worse FPS with it on my AMD card so I stick with D3D9 wrappers.

RecklessGlue540 commented 1 year ago

Not sure about DXVK; I have always gotten worse FPS with it on my AMD card so I stick with D3D9 wrappers.

On my GTX 1060 3gb (Also have a Vega 8 iGPU) i don't see any difference with D3D9 wrappers (To the point i don't even know if they actually do anything / initialize at all lol). DXVK doesn't murder performance for me, just stabilizes it (mainly the reason to use it, although it has some serious issues in older patches). How much worse if you don't mind asking? AMD cards usually have a tendency to work a lot better with Vulkan applications.

MagicAl6244225 commented 1 year ago

Not sure about DXVK; I have always gotten worse FPS with it on my AMD card so I stick with D3D9 wrappers.

On my GTX 1060 3gb (Also have a Vega 8 iGPU) i don't see any difference with D3D9 wrappers (To the point i don't even know if they actually do anything / initialize at all lol). DXVK doesn't murder performance for me, just stabilizes it (mainly the reason to use it, although it has some serious issues in older patches). How much worse if you don't mind asking? AMD cards usually have a tendency to work a lot better with Vulkan applications.

I always lose about 15-20 FPS with DXVK. For me D3D9 wrappers prevent the game from crashing, which it otherwise does anytime graphics settings changes are applied.

Parallellines0451 commented 1 year ago

Yeah it doesn't seem like any of this is possible, and even if it was it wouldn't be done natively with shaders, so I'm closing this. Thanks for the feedback anyway.

RecklessGlue540 commented 1 year ago

For me D3D9 wrappers prevent the game from crashing, which it otherwise does anytime graphics settings changes are applied.

That is not normal. i suggest installing all Visual C++ Redistributables (check this here: https://github.com/abbodi1406/vcredist) and run the DirectX web setup again, see if it is needed (https://www.microsoft.com/en-us/download/details.aspx?id=35). Also go into Windows Features and check if DirectPlay is installed (probably not needed but this is GTAIV we're talking about, anything is possible). At last i also recommend reinstalling Radeon Drivers using DDU with Safe Mode (https://www.guru3d.com/download/display-driver-uninstaller-download). You can then also check if DXVK performance also increases (doubt that tho).

Yeah it doesn't seem like any of this is possible, and even if it was it wouldn't be done natively with shaders, so I'm closing this. Thanks for the feedback anyway.

Yeah, well, if drivers can do some of these, then it doesn't make much sense wasting time and resources on them anyway.