@toxie - doesn't it also depend a lot on what those timers are doing in their routines? If one is calling lot's of graphic updates or other routines from the timer that in return do graphic update type tasks (changing images, lighting states, moving primitives, etc.), it's a lot more "costly" than if a timer is simply calculating a value and not even outputting anything to screen. I think what is being done inside the timer routines or called from it must be part of the consideration as well and it's not a one sized fits all deal.
I think part of the problem is before VPX and maybe physMOD (not sure what revision it changed) a timer set at an interval level of 1 on a table didn't actually run at 1 and instead ran at the lowest possible which was 10. So, a lot of people didn't see the negative affect previously as everything was forced to at least 10 times slower, however, now if nothing is changed in the code from the previous table and people use the same "1" it is actually running at that true interval and is 10 times more demanding than before (one reason for sure that people could feel that VPX in at least one element seems more demanding). In the previous case if the timer routine worked fine when set to 1, then with VPX it will work fine with 10 and should actually be changed for any tables modified or evolving to VPX form a VP9 version or WIP. I don't think a lot of people knew of that issue / characteristic (it could be / was easily shown with some counters in the timer routines and a screen output / text boxes).
Occasionally, it is nice to be able to go to lower than 10 but for a timer interval, however as you say, carefulness with timers when not needing that level of precision would be prudent for efficiency and helping to avoid more processing than needed. Can you clarify more about the impact of timers depending on the routines they work with. From what I've seen and what I started with, it's a whole lot different situation and one that can cause visual impacts for timers that are related to graphic / screen visual changes vs. more computational ones? Wouldn't it also be the case that the amount of "work" in general called from that timer is a huge variable factor in this situation vs. simply the timer value alone being set at 1 (the LampTimer for example with calling a lot of elements and the slew of items under the "UpdateLamps" for example vs. one that might simply increment a counter value only)?
Oh yes and the result is not only micro stuttering but heavy stuttering if you have a mid range cpu. The only timer that should be at 1ms should be the vpmame timer but maybe this one can also be set to 5 or 10.
Hey fuzzel, I was just about to reply that setting the actual vpmame timer to anything other than 1 would seem risky for missing event or having it do something maybe unexpected with that key piece of processing for VPM tables. However, with just thinking about it for a moment, if that timer on old VP9 tables (PinMameTimer) was set at 1 and was a typical / standard VP timer object, than it must have suffered / experienced that same original issue in VP9 where no timer ran lower than 10 even if set lower (that I was just discussing). So, I guess that would prove that setting to 5 or 10 could / would be safe. But you never know, part of the original aspect of VP9 with some switches or triggers sometimes seemingly missing events with VPM tables / events for unknown reasons could have been related to that and we're actually getting better results maybe now with VPX because of it. In any case it seems that setting to 10 shouldn't have had any worse effect than how it behaved with VP9 but that might be at least one timer that should at least have a reasonable amount of caution exercised when attempting to adjust. I imagine too that even still with all this, going higher than 10 by much amount could / would definitely risk missing events that have changed at the ROM level and would miss detection or registration.