If you're experiencing flipper delay in TPA PC version, please read this.

tpafan

New member
Nov 5, 2013
5
0
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:

vgr3pg.png


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):

j8ns4h.jpg


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!
 

Just Some Guy

New member
Jun 18, 2012
61
0
I don't have an AMD card so I can't say if they behave differently, but Nvidia removed the 0 option because that actually just lets the game handle the queue size - and is typically set to 3 by default. You probably want to set it to 1 rather than 0.
I don't recommend setting it to 1 globally, as it will reduce performance in games. Something like The Pinball Arcade where performance demands are not high, but latency is very important, should be set to 1 though.
 
Last edited:

Gozer

New member
Jun 10, 2013
106
0
I don't have an AMD card so I can't say if they behave differently, but Nvidia removed the 0 option because that actually just lets the game handle the queue size - and is typically set to 3 by default. You probably want to set it to 1 rather than 0.
I don't recommend setting it to 1 globally, as it will reduce performance in games. Something like The Pinball Arcade where performance demands are not high, but latency is very important, should be set to 1 though.

This.

Do not set maximum pre-rendered frames globally. Do it within TPA profile.
 

alexb

New member
Nov 5, 2013
19
0
Hi,

I'm not sure if my issue is strictly the same but when testing the TPA demo tables on my pc I have found that the ball movement slows down considerably on the lower part of the playfield on all tables but is normal speed on the ramps.

my setup is
asus M4A78LT-M motherboard
AMD x4 @3.00ghz
4gb ddr3 ram
windows 7 home 64bit
and integrated ati radeon 3000 graphics

and i am running at 1600 x 1050 with everything turned off on config utility

I am guessing the GPU is the problem and I am thinking about getting one probably a GTX 650ti
 

goforthewall

New member
Feb 21, 2012
314
0
Wow! What a difference the "maximum pre-rendered frames 1" setting makes. I was under the impression that I had *no* lag to begin with, but now with the setting changed the flippers are unbelievably snappy. For the first few minutes I was flipping way too early ;-) I urge *everyone* to try this setting. It's a game changer!
 

Deltaechoe

New member
Aug 30, 2013
228
0
Another thing you can do if you don't want to monkey sound in the video card settings is to switch to fullscreen windowed
 

JPelter

New member
Jun 11, 2012
652
0
Note that you can also set this by program for nvidia if you go to the "program settings" tab in that first screenshot and find pinball arcade there.
 

BonzoGonzo

New member
Jun 12, 2012
458
0
using this method i can play with post processing turned on and no input lag :cool:

(before i had to switch the post processing off becouse it resulted in massive flipper delay)
 

DodgeRodge

New member
Jan 17, 2013
38
0
Really nice solution.

Note for Nvidia users: Instead of changing this globally, you can set this only for TPA by selecting the tab "Program Settings" in the screenshot above. When you add TPA to the "Program Settings" and do the "Pre-rendered frames 1" change there, this does not interfere with other games.
 

seattlemark

New member
Jan 8, 2013
295
0
or you can create a profile for a single program (TPA in this case)

I haven't found a way to set a RadeonPro tool Profile to point to The Pinball Arcade out of Steam. I think that the RadeonPro Profile Open dialogue is looking for the game's .exe or .com, and all I can find for TPA on my PC is "steam://rungameid/238260". Any suggestions of how to save it as a profile specific to TPA? (Otherwise, I will stay with the Global setting in the RadeonPro tool, but that will affect everything running on this PC.)


P.S. I found a video about the RadeonPro tool: https://www.youtube.com/watch?v=xU71HkUht5Q
I think this is one in a series of videos by this person, with a couple dealing with the tool.
 
Last edited:

JPelter

New member
Jun 11, 2012
652
0
I haven't found a way to set a RadeonPro tool Profile to point to The Pinball Arcade out of Steam. I think that the RadeonPro Profile Open dialogue is looking for the game's .exe or .com, and all I can find for TPA on my PC is "steam://rungameid/238260". Any suggestions of how to save it as a profile specific to TPA? (Otherwise, I will stay with the Global setting in the RadeonPro tool, but that will affect everything running on this PC.)


P.S. I found a video about the RadeonPro tool: https://www.youtube.com/watch?v=xU71HkUht5Q
I think this is one in a series of videos by this person, with a couple dealing with the tool.

The gamefiles are stored in steamdrive:\steam/steamapps/common/PinballArcade/* where steamdrive is the HD partition your steam files are in. You should be able to find the exe there.
 
Last edited:

seattlemark

New member
Jan 8, 2013
295
0
The gamefiles are stored in steamdrive:\steam/steamapps/common/PinballArcade/* where steamdrive is the HD partition your steam files are in. You should be able to find the exe there.

Thanks. Using your tip and a search, I found it on my 64 bit PC in: C:\Program Files (x86)\Steam\steamapps\common\PinballArcade.exe
 
Last edited:

SilverBalls

Active member
Apr 12, 2012
1,233
3
This is a good tip and the same thing applied to me for Visual Pinball in my cab some time ago.

Also another thing to reduce lag which most people may already know is when using a TV always turn off any TV picture processing. Eg: Game mode, on LGs change to JustScan, etc. This should also turn off 100/120 hz processing so the TV runs at 50/60 hz (no frame interpolation).
 
Top