Possible fix for dropping framerates and how to get higher and stable FPS

flubbyflubby Posts: 50Player
edited February 2016 in General Discussion
I've been playing XCOM 2 recently which has been running very slow on my PC (15-60 fps). After some research online I found there many people having this problem and the fix was to change something called the "Flip Queue Size". This setting controls the number of frames to render ahead. Basically it's a setting in the registry and you need RadeonMod to change it.

I wanted to see what effect it had on AAPG and here's what I found.

There are seven values it can have: undefined, 0-5

It was set to undefined when I first ran the program which for me means around 80-145 (capped at 145) fps on my MSI 390x @ 1440p, lowest graphical settings.

First, I changed the setting to 1, and it had the effect that others have described, where I would start with >100fps and within 30 secs after spawn I would drop to 30fps or lower. I could not replicate this in subsequent tests. The input lag (I think that's the number below the 'stat FPS') was 30ms where normally it's around 10ms.

I put it away and retested again (I think first test above was done without reboot and subsequent tests were done rebooting after each setting change), and these are my findings:

1: slower then undefined, I get between 60-100fps, 10ms input lag
2: fastest so far, between 100-145 fps, but it's almost always near 145fps. 6.5ms input lag.
4: somewhere in between 1 and 2

So if you're getting fps drops, try to change this setting. For NVIDIA the equivalent setting is called "Maximum Pre-Rendered Frames". Initially I thought it could also fix the 1-2 second freezes that people have been describing but I haven't seen it yet (though it's possible because I've only played with these settings for maybe 15 minutes).

Since this is a registry change, that means it's global. Other games (or maybe drivers?) that update the registry can possibly have a negative impact on AAPG. XCOM 2 for example is stable @60fps for me at 1, but would be bad for AAPG. Unfortunately I don't think this setting is configurable per-game since AMD Crimson doesn't even have it.

Here's the original article that talks about it. RadeonPro as mentioned in the article is not maintained anymore but RadeonMod does the job.

https://www.rockpapershotgun.com/2016/02/11/xcom-2-performance-fix/

Maybe others can post their experiences here to see if they can replicate those performance issues people have been having.

Comments

  • flubbyflubby Posts: 50Player
    By the way these fps numbers are based on the map Intercept.
  • SacchoSaccho Posts: 1,577Player
    The number below FPS is the time it took to render that frame. It's essentially the same number as the FPS value (FPS = 1000ms / that time). Okay, technically those numbers are moving averages, but close enough.

    Having more pre-rendered frames has a cost. It's delaying the time between action occurring and you seeing it. In order to have three or four frames pre-rendered and sitting in a buffer, the image on your screen has to be delayed by that much. It's a trade-off: delay for smoothness.
  • flubbyflubby Posts: 50Player
    Not sure I follow. Are you saying this is what happens?

    1: render, display, render, display
    2: render, render, display, render, render, display

    Two has the higher fps because it's drawing two at a time, but at the expense of when I get to see the frame(s)?
  • SacchoSaccho Posts: 1,577Player
    edited February 2016
    Think of it like a stack of cards. The CPU adds cards to the bottom of the stack while the GPU flips over the top card to look at (see on the monitor).

    If your stack is only one card tall, you're always flipping over the newest card. It's got the most recent information.

    If your stack has more cards in it, you'll have to wait a few extra cards before you see the newest card added to the bottom. That's a delay in when you're seeing things.

    Now, sometimes the computer slips up a bit when it's adding that card to the bottom. If your stack is only one card tall, that's a stutter (and a drop in FPS) because you have to wait for the computer to add a card before you can flip it. But if you've got spare cards in the stack, you can keep flipping those while the computer catches up again.


    It's not really going two at a time or anything like that; both processes are constantly happening. You're constantly looking at the top card and the computer's constantly trying to keep up by adding new cards to the bottom. The pre-rendered frames setting is how large that stack of cards can be.
  • flubbyflubby Posts: 50Player
    It turns out that 'undefined' is actually equivalent to 3, from what I read online. Having a lower setting means you reduce the display latency but then stuttering or freezing comes into play. Adjusting to a higher number means you'll get a smoother framerate but at the expense of display latency. So, if I understand correctly, the optimal approach would be to use the lowest possible setting before you experience stuttering.
  • .dcG-Colts^.dcG-Colts^ Posts: 1,973Player
    Nvidia Control panel defaults @ "Use the 3D application setting" I remember messing with this setting or it may have been Virtual Reality pre-rendered frames instead of maximum pre-rendered frames. Which ever one I messed around with hit-reg became awful for me. So i quickly went back to the default. I think it might of been Virtual Reality pre-rendered frames now that I think of it and the default is 1.
    Pie charts + Graphs= Very Bad.



Sign In or Register to comment.