Pinball FX

Pinball FX

View Stats:
AlterEgor Oct 19, 2024 @ 3:38pm
Ball Motion: FX3 vs PFX
I finally was able to get all displays running in PFX cabinet mode, while maintaining 120fps on the playfield. But now that I have, and have compared the ball motion to FX3 at those same update speeds, I see a stark negative difference in ball motion clarity in PFX. In PFX, the ball seems to, for lack of a better word, smear across the table when moving fast, with some noticeable micro-stutters, while the ball in FX3 appears sharper, smoother and more well defined while in motion.

It's a shame, because all new tables are PFX only, and the physics and graphics are growing on me to the point that I would consider adding the older tables to my PFX collection. But all of that stuff is for nothing if the ball is difficult to visually track 100%.

I understand that PFX uses a different engine, but it really seems like the ball updates are just ragged when compared to FX3. Is it just me, or do others see this as well?

Added note: After looking at a few more tables, this appears not to be the case with all of them. It seems that the darker the table, the more pronounced this is. It may be a case where absolute graphical realism could be working against the end result, as the brighter and more cartoony tables seem better. I'd love to see an internal illumination slider for the ball on a per table basis to kick up visibility a bit where it might be necessary.
Last edited by AlterEgor; Oct 20, 2024 @ 12:30am
< >
Showing 1-15 of 15 comments
I own pretty much all of the FX tables, play most of them, and have never noticed the issue you mention.
Septon Oct 21, 2024 @ 11:47am 
Didn't notice this either.
Junker-2047- Oct 23, 2024 @ 5:50pm 
Many people can't see the difference between 60 and 120fps.

OP, FX3 was a well-optimized game on a custom engine. Zen was bought out and the game was ported to Unreal with way worse optimization and resold to the customer base.

You likely have one of the upscalers going, DLSS etc. It's kind of shoehorned into this game and destroys the image quality. It is especially noticeable on the ball in the form of blur and artifacting.

It's too bad, but it makes you really appreciate what they did in FX3. Shocking how much better than game looks and runs, compared to this "updated" version.
Pinballwiz45b Oct 23, 2024 @ 8:04pm 
Originally posted by AlterEgor:
In PFX, the ball seems to, for lack of a better word, smear across the table when moving fast, with some noticeable micro-stutters, while the ball in FX3 appears sharper, smoother and more well defined while in motion.

Added note: After looking at a few more tables, this appears not to be the case with all of them.

Question: Are you running an upscaler, or native using TAA? If the latter, use the following in your Engine.ini settings:

[SystemSettings]
r.TemporalAA.Quality=2
r.TemporalAA.Upsampling=1
r.TemporalAAUpsampleFiltered=1
r.TemporalAACatmullRom=0
r.TemporalAA.R11G11B10History=1
r.TemporalAAPauseCorrect=0
r.TemporalAA.HistoryScreenPercentage=100
r.TemporalAASamples=2
r.TemporalAAFilterSize=0.09
r.TemporalAA.Upscaler=1
r.TemporalAACurrentFrameWeight=0.6

This gets rid of most, if not all, ghosting from moving objects. While some jagged edges are introduced on habitrails, I can tell the difference immediately on tables like Dr. Dude, where ghosting is awful to deal with. DMD blurring on View 8 is also gone. Portrait lessens the jagged edges to an extent, but I'm only a 1080p player. I've no idea how this looks on 1440p or 4K.

Tested the above on BIT.TRIP RERUNNER on Unreal 5, and it beats the heck out of TSR and downscaling -- at least using stock settings. Regardless, feel free to modify and share.
Last edited by Pinballwiz45b; Oct 24, 2024 @ 5:53am
AlterEgor Oct 24, 2024 @ 8:51am 
Thanks to those who tried to assist. Not using DLSS. I don't think it's available on a GTX 1080, but maybe I missed it. Tried the other one and really disliked what it did to the graphics.

I am using TAA. Tried the settings offered up, (thanks) but on TM:BOP the framerate goes through the basement. I'm not sure what it is about that table, but it seems inexplicably more demanding than any of the tables I have tried. None of the other tables seems to exhibit the problems I have been seeing, or at least not as severe and of course, it's my favorite table.

In order to get the ball moving smoothly, I need to set everything on "LOW", which is fine for that table. Unfortunately (fortunately?), I don't need to hobble the graphics to get the same result on other tables, so if I want to take full advantage of the system, I need to fiddle with graphic settings when I switch tables.

What a weird situation. I get the feeling that those who aren't seeing the issues are running a single monitor in desktop mode and not playing TM:BOP. It is what it is, I guess.
Pinballwiz45b Oct 24, 2024 @ 9:28am 
Originally posted by AlterEgor:
Thanks to those who tried to assist. Not using DLSS. I don't think it's available on a GTX 1080, but maybe I missed it. Tried the other one and really disliked what it did to the graphics.

I am using TAA. Tried the settings offered up, (thanks) but on TM:BOP the framerate goes through the basement. I'm not sure what it is about that table, but it seems inexplicably more demanding than any of the tables I have tried. None of the other tables seems to exhibit the problems I have been seeing, or at least not as severe and of course, it's my favorite table.

In order to get the ball moving smoothly, I need to set everything on "LOW", which is fine for that table. Unfortunately (fortunately?), I don't need to hobble the graphics to get the same result on other tables, so if I want to take full advantage of the system, I need to fiddle with graphic settings when I switch tables.

What a weird situation. I get the feeling that those who aren't seeing the issues are running a single monitor in desktop mode and not playing TM:BOP. It is what it is, I guess.

Correct, DLSS is only available for RTX cards. FSR and XeSS aren't great on low-end cards either. Your best case is to run native.

Odd that Bride of all tables isn't hitting 120 FPS, especially alphanumerics from Volumes 6 or 7. I am mainly on desktop, landscape as well.

If you'd like, I can send you the full range of SystemSettings I have tailored to my 970, but I need to return from work in a few hours to copy-paste directly. Most tables, I can bench 120+ FPS uncapped, but it's really a case by case basis. Your GTX 1080 should at least get over the hurdles I have.

EDIT: As far as cabinet mode goes, what are you using? I think there's a known issue if Windowed settings are used for any (or both) of the DMD and Backglass. Someone else is having a similar issue on Pinball M -- can you check if temporarily disabling Cabinet settings resolves this?
Last edited by Pinballwiz45b; Oct 24, 2024 @ 10:12am
AlterEgor Oct 24, 2024 @ 11:30am 
Originally posted by Pinballwiz45b:
As far as cabinet mode goes, what are you using? I think there's a known issue if Windowed settings are used for any (or both) of the DMD and Backglass. Someone else is having a similar issue on Pinball M -- can you check if temporarily disabling Cabinet settings resolves this?

It's definitely related to the performance gutting that takes place when the second monitor has both the backglass and the DMD/Score Display active at the same time. I only just recently was able to get some decent performance with both of them enabled, even with everything on low.

No cabinet mode = No problem. Everything is smooth with quality settings on High.
Last edited by AlterEgor; Oct 24, 2024 @ 11:31am
Pinballwiz45b Oct 24, 2024 @ 12:17pm 
Originally posted by AlterEgor:
It's definitely related to the performance gutting that takes place when the second monitor has both the backglass and the DMD/Score Display active at the same time. I only just recently was able to get some decent performance with both of them enabled, even with everything on low.

No cabinet mode = No problem. Everything is smooth with quality settings on High.

Great, so we're locked in on Cabinet Mode causing the issue -- not necessarily Portrait orientation. Portrait uses more table render space than landscape, but if you're hitting 120 on Bride with portrait, then we can eliminate that as the root cause.

Are you using Freezy's DMDext, by chance? I don't think issues would stem from that, for Bride of Pin*Bot, specifically.

https://github.com/freezy/dmd-extensions

EDIT: Yeah, it's probably related to the Windowed options for Backglass and the DMD. I've experienced it myself just now trying to work this out -- I was getting sub-100 FPS framerates trying out Bride, and around 105 FPS without (DMDext included in the tests). The backglass was taking away from a bit of the framerate, otherwise.

Relaunched the game using those tests again, somehow I'm getting 120 FPS landscape, 90 portrait. I wonder what's causing the issue behind the scenes to make the framerate dip like that, especially when loading assets.
Last edited by Pinballwiz45b; Oct 24, 2024 @ 3:17pm
AlterEgor Oct 24, 2024 @ 7:39pm 
No external programs. I really wish I knew. It's crazy that things seem fine with one thing or the other on the second monitor, but both seem to crush things, especially when one of those things is a static image. I could understand it if there were complex, raytraced lights, animations and such in the backglass, but a static image? What else could that code be doing, unless there's an overly aggressive "stay on top" loop that becomes active when the both are on-screen.

I'm starting to think that the folks at Zen would be better off to just call a simple external app to put up the backglass image, and then cycle the DMD display, rather than whatever they are doing now. Hell, if the software exposes the current table name, I'd be tempted to make one myself, but it wouldn't change as the tables were scrolled over in the selection screen. Might be hard for a 3rd party external program to make sure the DMD is on top as well.

But really, I can't believe that the coders can't fix this. Something has to be askew somewhere and it's just weird enough of a problem that whatever is causing it could have deeper ramifications with regard to other possible performance issues. Hard to know from the outside looking in.
AlterEgor Oct 25, 2024 @ 5:35am 
I can't guarantee that any of this will help, but here is where I am at the moment. All of it could be important or none of it depending of the combination of Windows and Nvidia driver versions on your system. God only knows what changes every time either of those is updated or how they ultimately interact with one another.

I think I may have found the magic combination of settings for at least a GTX 1080, to get a reliable, mostly smooth 1080p 120fps in a more demanding table like TM:BOP, with a second display for DMD and Backglass images in table mode, with TAA and other game settings on High. Some of this is duplicate information I posted in a different thread, but it MAY be a part of the solution.

First, go into the Nvidia settings and reload the defaults in the Manage 3D Settings tab But make a note of anything you may have set in there so you can try enabling them later to see if they cause you a problem.

Originally, the setting which seemed to sort out the brunt of the issues was "Multi-Display/Mixed-GPU Acceleration" and I saw a big improvement when set to "Multi-Display Performance Mode". If this option isn't available for you, you will need a program called "Nvidia ProfileInspector" to make the change. It seems that enabling this can reduce single display performance, so bear that in mind. Here's the thing: This is supposedly only for OpenGL and after doing the next step, this setting doesn't seem to do anything. Still may want to do this if you are running other pinball sims with a backglass, as it doesn't seem to hurt anything.

This next one seems to be important. Under the "Adjust Desktop Size and Position" tab, make absolutely sure that the "No Scaling" option is selected. Unless the folks at Zen quietly pushed an update while I was sleeping (doubtful) this put me "over the hump" as scaling was enabled to account for overscan on the second display (older TV).

My current display configuration is both in horizontal, with the second display to the right of the first and aligned. How important this is, I can't say, but that's the way I have mine. Portrait mode would be preferable for the main display, but that caused me a problem with the next part of the setup, due to an apparent PFX bug.

In the PFX video settings, you want to select "Full Screen" with 270degree rotation. When I had the main display in Portrait mode, setting this to full screen with 0degree rotation seemed to bork the settings menu, as it seemed to be looking at the orientation of the backglass. There may be a different combination of the two which works around this, but for now, I'll deal with the desktop in the wrong orientation.

And finally, I have vertical sync disabled and the max frame rate set to 240. This may result in some tearing, but it allows the GPU to run BTTW, without "brake pumping" which could lead to stutters.

Again, just posting this in hopes it could help someone. I am seeing new things now which could affect where things ultimately end, such as some screen blanking at program start, which indicates some display mode changing, and which I don't recall seeing in the past. I won't postulate (done enough of that already) on the prospects for a better configuration just yet, but if I find one, I will update at that time.

Good luck!
Pinballwiz45b Oct 25, 2024 @ 6:11am 
Great to hear everything is all working out for you. Is the above TAA solution to your liking? No ball/flipper ghosting, smearing, or anything like that?
AlterEgor Oct 25, 2024 @ 10:30am 
Originally posted by Pinballwiz45b:
Great to hear everything is all working out for you. Is the above TAA solution to your liking? No ball/flipper ghosting, smearing, or anything like that?

Yes, thank you! The ball smearing is much better now, of course with some more jaggies. Also adds 3-4fps now on average during actual play, which is important for headroom on my setup. Disabling TAA entirely gives the best motion quality, but without, the static parts look awful. Seems like a decent compromise.

At least I now know that the "smear" is real (don't know how someone couldn't see it) and TAA is what is responsible for it. Your post with those settings caused me to go down the rabbit-hole as for what they do and I see that it's not very popular due to what it does to things in motion. Unfortunately, FXAA is equally bad, but for other reasons. But I did also add a couple of things to your settings, which I also saw suggested:

r.BloomQuality=0
r.ContactShadows=0

I haven't dug down to see exactly what they do, but they didn't make things visually worse for this GPU.

*edit*
I thought would add one more thing to this, which some may find useful. If you are mixing displays with different refresh rates, i.e. 120hz on the table display and 60hz on the backglass, the game will try to fall back to 60hz on the table display the moment you click your mouse on it. A workaround is to alt-tab to the backglass process and then alt-tab back to the main process, and use your keyboard (or keyboard-based controller) to navigate the menus and play. It's screwy, but it's the only way have found to be able to mix displays with different refresh rates and clicking your mouse anywhere on the playfield display will mean that you will need to do that again to bring it back. Also make sure the playfield is set as the primary display in Windows.
Last edited by AlterEgor; Oct 28, 2024 @ 9:38pm
Lagartija Fist Oct 29, 2024 @ 1:20pm 
In cabinet or portrait mode Vrr or Vsinc does not work. You MUST limit framerate to half of your monitor if you cant reach monitor speed. For what I have seen, this is the only way and the diference is night and day.
AlterEgor Oct 29, 2024 @ 7:30pm 
Originally posted by Lagartija Fist:
In cabinet or portrait mode Vrr or Vsinc does not work. You MUST limit framerate to half of your monitor if you cant reach monitor speed. For what I have seen, this is the only way and the diference is night and day.

Not sure what you mean. I currently have my desktop in normal orientation, and use cabinet mode and a rotation of 270 degrees.

The monitor is fed the hz of the current graphic mode. If the system/game can't keep up, you see stutter/chop. In that case, it would of course seem better to have a more uniform 60hz, rather than motion which looks good 60% of the time. But I would expect it to still work, even if not looking uniform.

Or are you seeing something else?
Pinballwiz45b Nov 4, 2024 @ 6:20pm 
Originally posted by AlterEgor:
r.BloomQuality=0
r.ContactShadows=0

I tried those out on my end, they didn't seem to do anything. If you have the spare power, you can use the following:

r.TemporalAASamples=4

This removes most of the jagged edges from the rails, but can introduce some jitter in some very thin lines. If 4 gets too annoying to deal with, stick with 2. Bumping up further to 8 can amplify this effect, not much in a good way. Below are my full custom settings for my 970, if you're interested (RTX 2000 series or above may not need the settings outside of TAA as much) :

[SystemSettings]
r.SSR.Quality=3
r.SSR.MaxRoughness=0.4
r.Tonemapper.Sharpen=1
r.ShadowQuality=3
r.Shadow.MaxResolution=1024
r.Shadow.MinResolution=32
r.AmbientOcclusion.Method=0
r.AmbientOcclusion.Compute=0
r.AmbientOcclusionLevels=1
r.AmbientOcclusionMaxQuality=100
r.TemporalAA.Quality=2
r.TemporalAA.Upsampling=1
r.TemporalAAUpsampleFiltered=1
r.TemporalAACatmullRom=0
r.TemporalAA.R11G11B10History=1
r.TemporalAAPauseCorrect=0
r.TemporalAA.HistoryScreenPercentage=100
r.TemporalAASamples=2
r.TemporalAAFilterSize=0.09
r.TemporalAA.Upscaler=1
r.TemporalAACurrentFrameWeight=0.6
r.Upscale.Quality=5
Last edited by Pinballwiz45b; Nov 4, 2024 @ 7:14pm
< >
Showing 1-15 of 15 comments
Per page: 1530 50