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 ?
Edited by Robsoie, 28 June 2020 - 10:59 AM.