Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
This sucks, does FG only works for DX12 games or what?
Yes, Frame Genereration works only with DX 12.
https://github.com/ResetXPDR/MSFS2020_AutoFPS/releases/tag/v0.4.0
https://www.youtube.com/watch?v=Uyncvkgi0mA
Frame generation does not work in VR even with DX12. Its only for desktop. In VR we have similar technology refered as "Reprojection" or also "Motion smoothing". It is basically same thing as frame generation, but works only in VR and also with DX11.
It seems to automatically adopt graphics settings to reach certain target fps while you fly. So it may reduce terrain lod and cloud quality near the ground when performance starts tanking. And then increase it when the performance allows. Sound quite usefull, I will certainly try that thanks.
I have tried it and it does a good job. Not sure yet how it handles what I really want yet but still testing.
If you say anything else you are simply incorrect and do not understand the technology. I stand by my statement and it is 100% correct from a pure raw performance perspective.
It is actually possible to get worse latency with frame generation than if you simply run the game without it. The whole point of performance is reduced latency, not added latency. Therefore b/c it adds latency it is the exact opposite of increasing performance. It goes the other direction in terms of latency. If you run a game and get 40 FPS then you have 1/40 ms per frame. If you turn frame generation on, boost some stupid FPS number on screen, but increase latency over 1/40 ms per frame then you are actually getitng less than 40 actual frames per second. It would be better in this instance to simply use the 40 FPS without frame generation. Frame generation has proven to be useful only on already high performing cards. B/c if your latency is already low at 120 or 150 FPS then adding a bit more latency to bring it down to 80 to 100 is not going to matter much. But then if frame generation is being touted as helping poor performing cards, it is a lie. It does not. It only works well when the initial performance is already extremely high. But in that instance, you don't really need it anyways. So it is a technology in search of an audience or a gimmick that people who do not understand what is going on will buy into and think its magic. It isn't magic at all.
If you want better performance overall, buy better components. There are no shortcuts. Components are expensive for sure. But no amount of gimmicks will create more performance where there is none. It simply isn't possible.
If you don't like it, how about you move along instead of ♥♥♥♥ posting on someone else's thread with off topic comment?
All frame gen is doing is inserting a fake frame between real frames at the driver level. It is guessing what the next frame will be based on motion vectors between frame N(1) and N(2). Those vectors may or may not be correct. It assumes there is a straight line between N(1) and N(2) similar to linear interpolation. So if a pixel is at X,Y in frame 1 and was at X2, Y2 in frame 2, we 'could' insert a frame between X,Y and X2, Y2 by doing:
Vector toXY = Normalize(Vector(x2 - x, y2 -y));
float frameDelta2 = frameDelta * 0.5;
InterpolatedX = X + toXY.X * frameDelta2;
InterpolatedY = Y + toXY.Y * frameDelta2;
frameDelta is the time between frames. Let's say we are getting 60 FPS. So that is 1/60 ms per frame. If we move forward in time by framedelta from frame 1, we arrive at frame 2. If we move forward in time by half of frameDelta we get a point between frame 1 and frame 2. So now we have 2 real frames at frame 1 and frame 2 and now we have a fake frame 1.5 between 1 and 2 generated by our algorithm. But this 'generation' takes time. So we cannot get any less latency than 1/60, we can only get more b/c it takes cycles to compute the next frame. So let's say it takes 20 ms to generate 30 extra frames. That means our latency at 60 true FPS is now 16.6667 + 20 or 36.6667 which is actually around 30 FPS. But we are displaying over 60 FPS, yet our latency is actually just shy of 30 FPS. By increasing video rate, we actually increased latency, not decreased it. Again this is just an example. I don't know what the true raw numbers would be.
But what we have over the sample period is now this:
1 F 2 F 3 F 4 F 5 F 6 F 7 F 8 F 9 F 10 F 11 F......and so on
F here is our fake frame generated with our very basic vector algorithm.
I do not know if frame generation always inserts a frame. If it did not, this could create temporal artifacts where the game appears to 'speed up' and 'slow down' similar to frame interpolation issues on TVs with this feature enabled. If it omitted a frame between 6 and 7 but had it between 1 2 3 4 and 5, you brain would get confused for a bit as it adjusted to the time difference between visual inputs.
If there is a straight line between X,Y and X2, Y2 then at a sample point halfway between X,Y and X2, Y2 'could' be InterpolatedX, InterpolatedY. It does not mean it is b/c between X,Y and X2, Y2 may not be a straight line at all. In this case we would be incorrect. This also depends on how much time is between these two samples. And here is where frame generation falls apart. The more time there is between frame 1 and frame 2, the more inaccurate it is. The more motion there is between frame 1 and frame 2, the more it falls apart because there is more time for the motion vector to change.
But at super high frame rates the time between frame 1 and frame 2 will be quite small, thus the algorithm has a higher chance to be correct. Also in a flight sim if you are simply moving forward at high altitude we don't see much movement on the ground. But if we are at low altitude, we do. So at high altitude, frame gen probably won't cause issues unless you are in a dive or rapidly changing orientation in which cause your gauges could be wrong or messed up.
But these frames are fake. What we did is create a false image or an image based on interpolation between two frames. We did not create another input frame. We added an image between two frames that we 'think' is the right frame. But the game doesn't know about this. So b/c you cannot add input to this frame you have not decreased latency, you have increased it. You have added one more point in time between frame 1 and frame 2 that you can see, but cannot interact with. This is the antithesis of higher frame rate. Higher frame rate is not just about video but overall computer performance. Higher frame rate means less time between frame 1 and frame 2 b/c we squeeze more frames into the same time period. These are actual interactable sample points in time in the simulation or game. So now I have more points of interaction. Higher performance is about lower latency, not higher.
So with the frame gen turned on you will never get less latency than you started with and that is b/c you are adding latency to generate the fake frame. You may get the same latency, although this would only be possible if it took zero cycles to generate the frame, which it does not. What is happening is that the video card is 'busy' generating frames which increases latency in already high latency situations.
Nvidia reflex attempts to minimize the latency between these two data points. We are talking about input latency when we say 'latency'. Higher REAL frame rates = less input latency. Reflex must be supported by the game for it to work. That is b/c there is no way for the card to guess about inputs between frames. What is interesting here is that Reflex may actually interfere with CPU prediction and cause issues. There is just no magic bullet to fix performance.
Frame generation on desktop or also motion reprojection in VR does however subjectivly creating an illusion of more more fluid and smooth experience, even though there are fake frames involved and at cost of latency. This is indeed more valuable to me.