Hi,
I'm posting this as a separate thread such that it can be easily found and help others also enjoy the PC version of TPA to its fullest.
I'd been experiencing the flipper delay in fullscreen mode also and it was kind of ruining my Pinball Arcade experience. Luckily there's a solution for both NVidia and AMD cards that solves this input delay problem for the PC version.
The flipper delay in fullscreen mode is caused by a mechanic in Windows that sets the number of "back buffer frames" that a driver can queue. Sadly this value defaults to three frames, which is good for watching video, or running a game on heavily underpowered machines, but it is very bad for fast action gaming like pinball, especially when the host PC can easily cope with the vsync update rate of TPA.
1. Solving it from a user perspective
Solution for NVidia:
Go to the control panel and set the global "maximum pre-rendered frames" to 1, as in the following picture:
Solution for ATI / AMD:
This is almost unbelievable, but AMD doesn't provide an option to set this value. Luckily there's a neat and clean workaround via the "RadeonPro" tool. Download it at http://www.radeonpro.info and set the "Flip Queue Size" in the "Advanced" panel to 0 or 1. You can set this value gobally, or you can create a profile for a single program (TPA in this case):
2. Solving it from the programmers perspective (possible solution)
The flipper delay problem can possibly also be solved from the Pinball Arcade side, so this is for Mike and/or Stuart. From your code you can set the maximum frame latency by calling IDirect3DDevice9Ex::SetMaximumFrameLatency method, and change the ridiculously high default value of 3 to a much more sane value of 1. See for a full description the MSDN site here: http://msdn.microsoft.com/en-us/library/windows/desktop/bb174347(v=vs.85).aspx. Possibly this value should be configurable from the TPA config utility? I've seen blockbuster type of games also doing it that way (I think Metro Last Light also has this configurable from its options).
Best of luck to all and Happy Gaming!
I'm posting this as a separate thread such that it can be easily found and help others also enjoy the PC version of TPA to its fullest.
I'd been experiencing the flipper delay in fullscreen mode also and it was kind of ruining my Pinball Arcade experience. Luckily there's a solution for both NVidia and AMD cards that solves this input delay problem for the PC version.
The flipper delay in fullscreen mode is caused by a mechanic in Windows that sets the number of "back buffer frames" that a driver can queue. Sadly this value defaults to three frames, which is good for watching video, or running a game on heavily underpowered machines, but it is very bad for fast action gaming like pinball, especially when the host PC can easily cope with the vsync update rate of TPA.
1. Solving it from a user perspective
Solution for NVidia:
Go to the control panel and set the global "maximum pre-rendered frames" to 1, as in the following picture:
Solution for ATI / AMD:
This is almost unbelievable, but AMD doesn't provide an option to set this value. Luckily there's a neat and clean workaround via the "RadeonPro" tool. Download it at http://www.radeonpro.info and set the "Flip Queue Size" in the "Advanced" panel to 0 or 1. You can set this value gobally, or you can create a profile for a single program (TPA in this case):
2. Solving it from the programmers perspective (possible solution)
The flipper delay problem can possibly also be solved from the Pinball Arcade side, so this is for Mike and/or Stuart. From your code you can set the maximum frame latency by calling IDirect3DDevice9Ex::SetMaximumFrameLatency method, and change the ridiculously high default value of 3 to a much more sane value of 1. See for a full description the MSDN site here: http://msdn.microsoft.com/en-us/library/windows/desktop/bb174347(v=vs.85).aspx. Possibly this value should be configurable from the TPA config utility? I've seen blockbuster type of games also doing it that way (I think Metro Last Light also has this configurable from its options).
Best of luck to all and Happy Gaming!