Lossless Scaling. Machine learning Frame Generation and upscaling on ANY GPU!

exciting. The best video from the best at this type of videos. Lossless Scaling deserved it.

I only missed showing the differences between 2D games at native framerate vs 3X Lossless Scaling Frame Generation using DF tools, there is a clear difference, not only in 3D games, and also missed some testing in super high framerate monitors, like 240Hz monitors, 360Hz monitors, 480Hz monitors, and so on. In that sente LS 3X Frame Generation is going to shine, imho.

On my 165fps, a 55fps base framerate can produce very decent results even when using Performance mode and 3X FG. Maybe in a future video?
 
Last edited:
just for fun I used CRU 1.5.2 (Custom Resolution Utility) converting a 60Hz TV into a 120Hz TV -for some reason the TV accepted it as it has some HDMI 2.1 capabilities-. Every online framerate test says the TV is running at 120fps, but when you use the typical 3-sided comparison 120fps vs 60fps vs 30fps, the 120fps image is the same as the 60fps one, no change is smoothness.

So I locked the base framerate to 60fps and I enabled Lossless Scaling 2X mode. Surprisingly so, LS just showed a 60/60 framerate and not a 60/120 framerate as you could expect given the behaviour of the online framerate tests which tried to run graphics at 120fps.

Then I set the base framerate to 40fps and enabled LS 3X mode, but again, I got the same result, it showed 40/60 but never ever 40/120 as you would expect.

That being said, aside from games that work natively at 165fps on my monitor, after using FG and utilities like Lossless Scaling and playing almost everything at 165fps, I gotta say that in the future 60fps are going to be the new 30fps. :)
 
new update.

https://store.steampowered.com/news/app/993090/view/4378145564509152114?l=english

Framepacing and LSFG updates
This version aims to improve smoothness, framerate stability and latency for a wide range of GPUs.

- LSFG 2.2 updates the UI detection part by reducing the level of over-detection, which eliminates some artifacts caused by UI detection and has a positive effect on the overall smoothness of the image.

- Cursor rendering at the target framerate.

- Return to the previous behavior when rendering over refresh rate is allowed.

- The new "Max Frame Latency" option acts as a balance between latency and performance. There is no best value, as all systems are different. Most likely, the optimal value will be 1 for Nvidia GPUs and 3 for AMD. It should be at least 2 (3 for AMD) if you want LS to be able to render over refresh rate.

- Merged the "Vsync" and "Allow tearing" options into one menu, where "Default" means that both of them are disabled.

- Improved Freesync support (works only on AMD GPUs).

-Lithuanian and Vietnamese localizations added.

Previous version is available in Steam betas.
 
I was in the mood to play the old Space Hulk game, the one that came out on 3DO back in the day. It has a PC port, but it's locked at 15fps. I didn't think I would really get much use out of the 4x mode in lossless scaling, but holy crap! Bumping that game up to 60fps makes the FMV so much smoother, and the gameplay sections are better as well. You get some weirdness at the edge of the screen while turning, but it looks almost more like PS1 era texture warping in the moment.
 
new update and SGSR upscaling tech. It seems that after the Windows 11 24H2 update DXGI isn't the desirable API anymore, but WGC, but in this case you must have MOP support enabled in Windows 11. (fully detailed below)


  • With the latest Windows 11 24H2 update, Microsoft changed how the Desktop Duplication API (DXGI) functions, making it heavily reliant on MPO (Multiplane Overlay) support. Without MPO, DXGI cannot reliably distinguish between updates from game window and the LS window when both are displayed on the same monitor. This prevents it from capturing only new frames, thereby breaking the existing framepacing algorithm.

    MPO support varies between systems, and there is no definitive way to determine why it is supported on some setups and not on others. You can use dxdiag to check if your system has MPO support. In some cases, you might be able to work around the issue. For instance, if you have two monitors connected, disconnecting one may force the remaining monitor to support MPO.

    As of the 24H2 update, DXGI is no longer a reliable capture method unless Microsoft changes its approach or Nvidia and AMD improve MPO support in their drivers.

    On the other hand, Microsoft has addressed a five-year-old bug in the Windows Graphics Capture (WGC) API, which previously prevented it from capturing only new frame updates. Starting with version 24H2, WGC now works as expected for the most part. Essentially, DXGI and WGC have switched roles in this update. WGC capture in LS has been updated with a new framepacing algorithm to replace DXGI on newer systems while maintaining the same behavior as before on older systems. DXGI continues to function normally up to version 23H2, but beyond that, it depends on MPO support.

    While WGC generally offers some advantages over DXGI, such as allowing LS to be recordable by most tools, it also has drawbacks without MPO support. Specifically, in games where a hardware cursor is displayed and VRR is enabled, WGC disables independent flip mode globally. This can lead to issues with LS and VRR functionality.

    Starting with Windows 11 24H2, MPO support becomes highly desirable. We can hope that future updates from Microsoft, Nvidia, and AMD will address these challenges. Notably, there have been reports that DXGI is functioning correctly again on the Windows 11 Dev branch.
 
Last edited:
Does this break LS then?
I haven't had the time to test it but I shall try it soon and see if it works as expected. According to DxDiag, MPO seems to be supported on my system and OS.

D3D9 Overlay: Not Supported
DXVA-HD: Supported
DDraw Status: Enabled
D3D Status: Enabled
AGP Status: Enabled
MPO MaxPlanes: 3
MPO Caps: ROTATION,HORIZONTAL_FLIP,RGB,YUV,BILINEAR,HIGH_FILTER,STRETCH_YUV,STRETCH_RGB,IMMEDIATE,HDR (MPO3)
MPO Stretch: 21.000X - 0.334X
MPO Media Hints: colorspace Conversion
MPO Formats: R16G16B16A16_FLOAT
RGB_FULL_G10_NONE_P709
R10G10B10A2_UNORM
RGB_FULL_G22_NONE_P709
RGB_STUDIO_G22_NONE_P709
R8G8B8A8_UNORM
RGB_FULL_G22_NONE_P709
RGB_STUDIO_G22_NONE_P709
B8G8R8A8_UNORM
RGB_FULL_G22_NONE_P709
RGB_STUDIO_G22_NONE_P709
PanelFitter Caps: ROTATION,HORIZONTAL_FLIP,RGB,YUV,BILINEAR,HIGH_FILTER,STRETCH_YUV,STRETCH_RGB,IMMEDIATE,HDR (MPO3)
 
I'm still on 23h2, i think I have updates delayed as long as possible (3 months?) so I can't really help out testing that yet.
 
Back
Top