I'll have to play a lot of pinball tonight to see if I can live with the flipper lag, because I certainly can't live with the screen tearing. At least not tearing of the ball. The flippers never really bothered me but the ball caught my eye every single time it ripped in two. Every. Single. Time.
I was going to joke about not trying the two scenarios (cause you'll never want to go back - I wish I never saw the input lag issue / "improvement") but yours is in the opposite direction to what I've done. It is worth noting as well that playing on a rig that has a true 120hz monitor will reduce response times as there are more frames per second and therefore input lag from extra frames is diminished. I was generally content with the flipper / game play and was totally happy with the combination of settings for buttery smooth ball movement / game play (Aero / DWM again being key). But once I saw the reaction time and shot angles I could make on the back hand with DWM off / disabled (mainly from a ball rolling through the inlane of the same flipper) I wanted both!
It's tough for me to go back now to just smooth visuals with the flipper lag that I can 100% tell does exist al beit only subjectively testable (I've created a modification of a table I was modding for VPX with the ball release in the left inlane and basically shoot dozens of shots trying to get the backhand as far back as possible / timed with the ball running through the lane and over the flipper. Toggling these two settings / modes has been an eye opener for how much they differ. You also have to be very careful though when evaluating as flipper / input lag and frame rate are totally related so make sure both tests are at the same FPS / monitor sync.
By the way, if I wasn't clear all of the Aero / Desktop Composition being left on modes for VP were while using the built-in vsync at 1 (pre-rendered frames never had a bearing on ball stutter / tearing that I have found with this combination at least but did affect again the flipper lag and I personally saw difficulty again in flipper timing with my test table if I didn't have pre-rendered at 1). I know Toxie suggests nVidia comtrol panel / settings being set at with pre-rendered to 1 and VP at 0 but with either 0 or 2 for VP I get delayed flipper action although actually increased FPS (if vsync was not enabled to just assess what the performance is). I find that to make sense actually and that the gain in FPS / performance is coming at some cost to the limiting of lag and in practice actual input / flipper lag. Part of the problem is that there is no easy way to measure it and it can feel subjective, however, I have spent more hours and days in the last month or so than I care to acknowledge flipping literally thousands of virtual pinballs in these closely controlled test scenarios and it is clear to me that it's absolutely occurring and delayed as described.
As a side note and a result of all this, I've been experimenting with cutting out the vpinmame callback usage for rotating the flippers from a flipper key press "keydown" as most vpm / SS tables have them scripted. I tried this a long time ago and someone else was mentioning this a little while back but I cannot recall who at the moment, however, what initially made me stop was the extra complexity in scripting the table and some actual impasses that would need more thought or extensions to pinMAME. This directly "wired" flipper scripting approach though surprisingly cuts about 20 ms of lag out of the flippers on a standard TV / monitor and is potentially one way to counteract the cost of using Aero, however, it has issues with then leaving the player the ability to flip the flippers still after a tilt or when the game is over. There are some work-arounds for this and is actually how I got onto the vpmNudge.TiltObj fix in the core.vbs in the most recent update and for which I explain a bit more about a few posts back. If the game supports a "game on" or "power on" relay, then that can be leveraged (along with the vpmNudge.Tilt) to also disable the flippers in the times that one would expect. However, all of this work-around approach requires scripting changes to the tables though and most modern games that I have seen do not have the relay so other techniques would need to be created to cut power to the flippers when directly "wired" for quicker response for at least the game over and tilt aspects would even be more challenging if not impossible without some VPM changes or possibly sound type detection for the "tilt" sound bank. Detecting an exclusive light that goes on when tilted as well would work but most games that have a light actually on the backglass still had the actual solenoid to utilize anyway with again the modern DMD games not having a light because they display it in the DMD in a big and funky way specific for the game. Some games may have a combo of lights or something for a tilt detection but overall this route has difficulties.
Basically, the best end solution and easiest on authors would really to be able to have VP's vsync working fully (vsync =1 as does work with Aero allowed / enabled) with Desktop Composition / Aero disabled, then one could benefit from improved flipper response without a lot of difficult and potentially even impossible ways to recode the flippers within the table scripting. Also, if we could get VP to sync totally smooth with Desktop Composition disabled, we could get a double flipper lag input boost if we still chose to the coding / scripting route (that compensation technique is not limited to either "mode").
See what I mean about difficult to describe everything quickly / concisely ![]()
Edited by jimmyfingers, 27 October 2015 - 11:25 PM.




Top
















are all trademarks of VPFORUMS.