A Journey Into State Of The Art Performance Enhancements

MajorMagee

SOH-CM-2022
There has been a recent flurry of activity from AMD and Nvidia related to letting people with high resolution monitors run their games at lower resolution to gain FPS performance without giving up image quality. The biggest breakthrough has been the implementation by AMD of a low impact Contrast Adaptive Sharpening technique that restores the crispness and detail lost in the downscaling process.

My first attempt at getting into this was triggered when Nvidia added a form of this sharpening to their latest drivers. A few tests revealed two key points about this new technology. In fact, it did significantly increase my FPS in direct proportion to how far I was willing to downscale the resolution of my 3440x1440 monitor. Unfortunately the sharpening method that Nvidia implemented was not very effective leaving me with a blurry, pixel crawling mess.

Meanwhile, in the process of looking for an appropriate downscale I did discover that my native screen resolution needed size calibration, in that the Windows display pixel pitch needed to be compensated for at a rate of 1.15x to have my document rulers and screen fonts be WYSISYG. The inverse of this translates to an equivalent downscale of 2992 x 1250 resolution.

I'd given up on the idea of downscaling entirely when I discovered that someone had ported the AMD CAS technique directly into Reshade. Testing that at my native resolution proved to be a the best form of real time sharpening I've ever seen, with just a 10 FPS penalty on performance (far less than any of the other real time sharpening options available). It turns out to be just as good as my most used post-process image improvement technique in Photoshop of contrast enhancement and local contrast sharpening.

That led me back to downscaling to see if I could recover the FPS lost to the new Reshade sharpening option, and sure enough it did.

The question then becomes, what did I really get out of all this. I can downscale to improve performance, but real time processing to restore the image quality brings the performance back to where it was. I can downscale even more than 2992x1250, but the image starts to suffer. I can stay at my native resolution and have enhanced image quality, but at the cost of reduced FPS.

All in all I understand my system a whole lot better than I did before I started and the new Reshade CAS shader is a miracle of effectiveness and performance, but at the end of the day I'm probably back where I started.
 
As usual, very interesting post. Could you remind me of your specs. In my case with the following old specs and old eyes I feel serious upgrades would be required. In the medium term I'm thinking of upgrading to a better (55") screen as prices keep going down, but need to finish house stuff first.

[FONT=Arial, sans-serif]OS: Win10 Professional 64 bit[/FONT]
[FONT=Arial, sans-serif]Intel(R) Core(TM) 17-2600 CPU 2 3.40GHz 3.70GHz[/FONT]
[FONT=Arial, sans-serif]RAM 16Gb DDD3 (2 X 8Gb)[/FONT]
[FONT=Arial, sans-serif]MB: Asus M4N68T-MV2[/FONT]
[FONT=Arial, sans-serif]Vid Card: [/FONT][FONT=Arial, sans-serif]NVidia [/FONT][FONT=Arial, sans-serif]Gforce GTX 970[/FONT]
[FONT=Arial, sans-serif]C Drive: S[/FONT][FONT=Arial, sans-serif]amsung SSD 850 EVO 1Tb[/FONT]
[FONT=Arial, sans-serif]D Drive: Samsung SSD 850 EVO 500Gb[/FONT]
[FONT=Arial, sans-serif]E Drive ITB Samsung HD103SJ 32M 7K OEM[/FONT]
[FONT=Arial, sans-serif]F Drive: 2 x Seagate BarracudaGreen 2TB Hds in RAID[/FONT]
[FONT=Arial, sans-serif]Power: PSU Seasonic X750 Gold 750W[/FONT]
[FONT=Arial, sans-serif]Monitor: 46” Samsung 630 LED LCD + 2 27"Acer Monitors[/FONT]
[FONT=Arial, sans-serif]Track IR5.[/FONT]
 
Win 10 64 bit Home - version 1803 (later updates won't boot)
ASUS Strix Z270H MB
Intel i7-7700 @ 4.6 Ghz
Nvidia GTX 980 (rolled back to 431.56 drivers as any of the later ones corrupted my Helio screen saver)
ASUS 34" curved screen gsync monitor at 3440x1400
TrackIR 4 (using rev 5 software)
All drives are SSD
The Power Supply is an EVGA 850 G3

If you are using Reshade and want to try out the new CAS shader model the code is here:
https://gist.github.com/martymcmodding/30304c4bffa6e2bd2eb59ff8bb09d135

It's just a matter of pasting these lines of code into a text document with the *.fx ending, and then placing that new file in the folder with the other Reshade Shaders.
 
After some more refining and testing I have some comparative FPS numbers to consider.

Resolution___3440x1440_________2992x1250
Default_______62 FPS_____________77 FPS
Reshade CAS__53 FPS_____________66 FPS

In this case the downscaled image sharpened with Reshade CAS actually looks as good as the default rendering at native resolution with slightly improved performance.
 
I wonder what the difference is between home and professional and whether home is responsible for most people's win 10 issues?
 
Capturing a few more notes on this subject.

Custom screen resolutions are created in the Nvidia Control Panel under Change Resolution using the customize button.

Once you've created a custom resolution it's available for selection through cfs3config.exe.

The scaling method for selections that are not the monitor's native size is found under Adjust Desktop Size And Position

You do not have to make the Desktop resolution the same as the one your going to use in CFS3 for the scaling mode to work, so you can leave it at the Native Res.

Performing the scaling through the Display Hardware is supposed to provide less delay that having the GPU do the scaling.

The selection of the appropriate mode (Aspect Ratio, Full-Screen, No Scaling) and the Override option are tailored to what you want to have it do in game.

My native resolution is 3440 x 1440 (80x 43:18)

I finally settled on 3010 x 1260 (70x 43:18) to speed up CFS3 without degrading the image quality too much (using Reshade CAS to sharpen)

This reduces the pixel count being rendered by the GPU by 23% without reducing the area of the view box in game (it's not clipped to a smaller field of view)
 
From reading online what I've been referring to as downscaling (because I was thinking in terms of the rendered resolution being lower than native) is typically called upscaling (because the display is stretching the lower res image to cover the available screen space).

Being able to increase the FPS performance while maintaining the same field of view with equivalent image quality feels like I was just given a free GPU upgrade.
 
Back
Top