While the support itself doesn't necessarily mean OS-level toggle like the Steam Deck has right (which I believe is still at FSR 1), it still could be a nice touch for the titles that choose to implement FSR 4.
Maybe the community adds the OS-level support unofficially, somewhat similarly to Lossless Scaling right now (although perhaps for free).
thingsiplay@lemmy.ml 17 hours ago
No, this is not possible. FSR 1 is an algorithm that works on the output image, like a Photoshop filter. That means HUD elements can’t be distinguished from the actual game world in example. Since FSR 2 (and upwards) its different. It needs to be integrated into the game, understanding what it does and compare multiple images. It is Ai based and requires training from the game itself. That’s why you don’t get system level integration for DLSS too. So that is out of question.
exist@sopuli.xyz 5 hours ago
Afaik dlss and fsr are pretrained models and they don’t train them for each specific game. Modders totally do enable them for games that don’t support them natively, but it can be quite involved because it needs the motion vectors and maybe depth from the game.
thingsiplay@lemmy.ml 4 hours ago
Maybe I misunderstood it and its not about adjustment training to specific games, and its about adjusting settings or something like that. I searched for a resource to point to that, but cannot find. It’s really hard to search about this topic online, because its always the same basic explanations what Ai upsaclers are (probably written by an Ai model itself…).
I know of modders being able to replace an existing model that already has motion vectors and depth. It would just reuse those information, because the API is agnostic to the models. If modders add vectors and depth by their own, that does not change the fact that DLSS or FSR 2+ can only work with those data.
brucethemoose@lemmy.world 6 hours ago
I think it needs depth buffer access and a UI mask, but not necessarily deep integration beyond that? At least for the FSR3 shader code I’ve looked at personally.
This is not out of the question for generic integration.
I’m less sure if FSR4 though, as I think that was a pretty big leap over 3.
thingsiplay@lemmy.ml 6 hours ago
I don’t know the exact process too, so we are both speculating. But its fact that Temporal upscaling (that is FSR2 and upwards for FSR related ones) need integration from the game. And these are Ai models that needs some kind of training data from the game as well. I don’t know what that exactly means, but my guess is that the integrated Ai model to upscale is trained with the data in the game and then delivered as a package. That makes it impossible to integrate a general purpose Temporal upscaler with Ai into a system, that could be utlized on any game (or program if you will). So I don’t know how this cannot be anything else “out of question”. I mean this is by concept not possible, as far as I understand (and why nobody did it too).
But an Ai system could be used as a Spatial upscaler, like a filter that is not integrated into the game. FSR 1 itself is not using any Ai, but DLSS 5 has such capabilities (think of the new lighting model, it could be tweaked to upscale the image instead).
Kolanaki@pawb.social 16 hours ago
I can use FSR4 in games that don’t have it, on hardware that doesn’t support it with Optiscaler. How the fuck did it train on shit it wasn’t actually made for if that’s how it worked?
thingsiplay@lemmy.ml 16 hours ago
What exactly do you mean? Any link? As explained. FSR 2, 3 and 4 needs training data from the game. It is possible to swap DLSS out with FSR variants, because DLSS has the training data already. But you cannot have FSR 2, 3 and 4 on all games like FSR 1. And FSR 4 also has to modes as it seems, one classical Temporal like 2 and 3 that runs on relatively older hardware too, and the new ML-based variant that requires the new cores on RX 9000 hardware.
If you use Optiscaler, then I think what happens is that you swap the DLSS implementation with FSR 4 Temporal variant out. I searched the web a bit and found this: github.com/optiscaler/OptiScaler
So what part I was wrong about exactly?