On VPX i recently ran into a table ( the Stern 24 hours on Vpinball.com ) on which VPX had a 1 second long heavy stutter (freezing VPX visuals for 1 second) on a specific section right when the ball exit the launch ramp and goes to hit the 3 bumpers near the exit, a problem that strangely happened only once during a game , the first time the ball enter that section.
It was very odd because no setting change would fix that, i even reduced all the textures of the table by 50% and optimised their png compression, but still it didn't changed anything (out of the table loading much faster obviously).
Then looking carefully at what could happen, i noticed that when the ball enter that section a very lot of lights are flashing all around the table at the same time, but as said the sutter only happen once during a game when the ball trigger this the first time.
To test if the problem was caused by the light show, i then edited the table script and started to remove a few lamps from the Sub UpdateLamps() section of the script, then played the table and noticed the stutter was a lot shorter, i removed more of those lamps in the script and managed to make the sttuter unnoticable.
A bit more curious, i decided to try the original VP9 version of the table (as from my understanding the VPX one is ported from it and adapted to VPX) and noticed that despite the same intense light show all around when the ball hit the 3 bumpers for the first time, the table never stutter.
I understand that the rendering engine of VPX is different from VP9 as VP9 using pictures for the lighting change.
So i am wondering if there's a problem of light/shadow map caching in VPX.
Something i suspect more after having played too a bunch of the recent SLAMT1LT tables on Future Pinball (and BAM), those tables have much more intense and busy light shows than any VPX tables i played, and they have 0 stuttering.
But the first time (happens only the first time as it's saved for future replay) Future Pinball (BAM) load a table it will takes a long time (much longer than Visual Pinball) to cache all the various shadow/light maps , resulting in the gameplay never stuttering when there's tons of lights flashing all around the table while the ball moves.
Could it be possible to code this kind of caching in VPX to fix the stutter situation on some very busy tables ?
Hello
I come back to this because i accidentally ran into the real cause of this specific problem.
It's not window defender and it's not the table scripting , in fact the real source of this problem is the VPX graphic/video option "Texture Compression (Performance)"
Because in all games i have this feature usually helps a bit, by habit i had enabled it since the beginning in VPX (and so in the 10.7 beta i am using) .
Randomly toying with various settings while editing some table for my own convenience, at some point i may have accidentally disabled "Texture Compression (Performance)" and after loading the default (not my edited version in which i had removed some part of the script) table "24" i was very surprised to see it playing so incredibly smoothly , maybe even better than the edited version i did of it.
After wondering if there was some odd window 10 update that fixed things, i started checking my VPX setting and noticed "Texture Compression (Performance)" was not checked, so i checked it and after relaunching the original "24" , the stutter/lag problem was there again.
Went back to uncheck the option again, and bingo : it was that because "24" was again incredibly smooth.
If i would have a guess , having no idea of the code, maybe not all the texture are compressed when VPX load a table, some of the texture that may only appear during gameplay (when an event play and lead to a texture being changed) , maybe VPX try to compress the new coming texture "in the fly", generating this stutter-like annoyance ?
Whatever is the reason, i thought it was a good idea to report this, in case other people run into those unexplainable stutter.