-
-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement AMD FidelityFX Super Resolution (FSR) in the Vulkan renderer #2809
Comments
See also #2779. Some comments:
|
Update: FidelityFX Super Resolution has been released in some AAA games, although its source code isn't available yet. List of supported GPUs as of writing:
Unfortunately, Intel IGPs and old GPUs such as NVIDIA Kepler and Maxwell aren't supported. It's also uncertain whether FSR will be usable on Android/iOS. The GPUOpen announcement says:
|
Well, GamersNexus claims that it should work on the new dedicated Intel GPU, and it definitely works on the new AMD Ryzen 5700G, the one with the iGPU, so maybe it will work those too. I think the official list given is only about the products that AMD has actually tested. Also, support is enabled on the game side, so it should be possible to at least try it anyway. Edit: There are reports from people testing it on Haswell now, and it works. It wouldn't be very beneficial for those iGPUs, however, as this technology proved to give the best results when used with 1440p and higher on a GPU bottlenecked system. At lower resolutions it would cause a lot of quality reduction due to how it works. So if your iGPU is barely reaching 20 fps at 720p, this will not help. |
Runs on Kepler GPUs, Tested - Nvidia Quadro K2000 (GTX 650 2GB Equivalent) in Dota 2, Does indeed Upscale, and improves performance by ~5-15% for a roughly same Picture result on 1080p, However Seems to scale better with higher resolutions (Quality-Performance scaling that is, meaning Upscaling to higher Resolutions will yield better performance for roughly the same Visual Quality as non upscaled rendering) Haven't Tested Nvidia's Fermi GPU, but as that is D11 only, No point in doing so for Godot's sake, as it seems as only D11 and Vulkan are capable of using FSR and Godot doesn't have D11, but GL instead which doesn't seem supported, and Fermi cards don't support Vulkan/D12. |
AMD Fidelity FX was just open sourced: https://github.com/GPUOpen-Effects/FidelityFX-FSR |
Note that before FSR can be added to Godot, we need to implement decoupling of the 3D rendering resolution from the viewport size. This way, 2D elements can keep their native resolution without requiring the use of a separate viewport (which requires more housekeeping and is likely slower overall). This will also pave the way for dynamic resolution scaling, which can work together with FSR. Also, the CAS proposal is still relevant as AMD recommends not using RCAS (FSR's sharpening shader) alone. However, it may be considered less important nowadays. |
According to the developer presentation, FSR works on Maxwell GPUs too. However, it will use a slower FP32 (full precision) code path instead of the faster FP16 (half precision) code path. Both look pretty much identical. |
I'm happy to read that, something is better than nothing. |
FSR Does run on Kepler GPUs too, but it's performance gains are not very large as it takes a bit of computation, but do note that FSR can have a negative performance effect if drawing pixels is just cheaper than upscaling (which isn't common, outside of very simple graphics levels) |
Describe the project you are working on
3D Horror Game
Describe the problem or limitation you are having in your project
low FPS problem
Describe the feature / enhancement and how it helps to overcome the problem or limitation
AMD FidelityFX Super Resolution (FSR)
FidelityFX Super Resolution is a spatial upscaling technique, which generates a “super resolution” image from every input frame. In other words, it does not rely on history buffers or motion vectors. Neither does it require any per-game training.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
https://gpuopen.com/fsr-announce/
If this enhancement will not be used often, can it be worked around with a few lines of script?
idk
Is there a reason why this should be core and not an add-on in the asset library?
You could see FSR as an Rendering enhancement and I don't think changing the rendering as an add-on is such a good idea. Unreal Engine and Unity3D added DLSS in core ! :)
The text was updated successfully, but these errors were encountered: