Unfortunately, it introduced decreased performance for me. FPS drop nearly in half. I have vsync set to 1 locked at 60fps without PinAffinity. I'm getting about 30 with your default settings. This was on fuzzel's CFTBL 1.1 with both VPX 10.5 beta and 10.4 final. I have a pretty decent setup 1050ti and a late model i5, i think 7400 @3Ghz. I didn't try to tweak any of your settings.
Interesting. Clearly this isn't going to help on your machine. The default settings should be optimal for a quad-core i5, so I'm not sure what the negative interaction is. Maybe there's something else in your system that it's interacting poorly with. Any chance there's a second process that your VP setup is interacting with when you test, such as a B2S Backglass Server running as a separate .EXE? That kind of thing would have this effect, and the solution is easy - you put that other thing, whatever it is, in the Pinball group.
One more thought: if you actually have a dual-core-with-hyperthreading i5, that would also explain the slowdown. Hyperthreaded chips appear in Windows with twice the number cores as they actually have. E.g., Windows thinks my desktop's i7-3770 is an 8-core chip, even though it's actually a quad-core with hyperthreading. So if you have a dual-core with hyperthreading, Windows will think it's a quad core. The default PinAffinity settings in this case will be highly counterproductive - they'd produce a slowdown such as you're seeing. I think there are probably no good CPU affinity tweaks for such a CPU; I think you're going to better off letting Windows do the best it can with the available cores.
You should be able to see the exact Intel part number (it should say "i5-XXXX" somewhere) in your System properties in Windows. If you can find that number you can look up the specs. Intel's spec sheets will say "number of cores: X, number of threads: Y". If it's hyperthreaded, Y = 2*X, and if it's not, Y=X.
I didn't think any i5's were hyperthreaded, so that might not be it at all, but there have been so many generations of these at this point that I'm not sure what all the different configurations are.
I couldn't figure out a way to get affinities to stick.
What do you mean, "stick"?
The program only controls affinities while it's running, so if you mean that you want them to stick after it exits, it doesn't do that. (And you wouldn't want it to - that kind of permanent messing with your system would be really dangerous.) If you want it to control affinities, you just leave it running in the background. When you want it to stop messing with affinities, you quit out of it.
What am I missing in your thinking?
I tried this as well. Played for a couple of hours, different tables and I could not see a drop in FPS. I could not see any improvements either. Will be testing it further. Maybe CTBL next, since that was mentioned.
Just to clarify, you shouldn't actually expect to see an FPS change one way or the other with affinity settings. That's not the metric this will affect. FPS is a total throughput figure; what the affinity settings help with is thread scheduling latency. You'd never notice such a thing in ordinary computing because it doesn't affect total throughput. But it can be noticeable with video games because it contributes to stutter - and on my cab, it's pretty much the sole contributor.
If you're getting zero stutter already across all games, there's probably not much to be gained by messing with affinities. If you're getting stutter at any level now, though, occasional to frequent, this might reduce it. But it won't do it by increasing your FPS rates, just by making those frames more consistently delivered on time.
Edited by mjr, 15 February 2018 - 07:10 AM.