- Edited
First thing, maybe this is how it's supposed to work, but I find this very weird. So I'm simulating firearm code at the moment and realized that my time to empty a mag was consistent, but not accurate. I kept thinking it was due to some recursion that I was using for the weapon, but I changed that and still was having the same results. I then changed the FPS and realized my results changed by .5 seconds. This is a huge difference.
I played around with the locked FPS and results are in the video that's attached. For 1200RPM/30rds there was a difference of 1.461 to 1.933 seconds (280fps vs 60fps) to empty a mag. For 300RPM/30rds there was a difference of 5.811 to 6.234 (280fps vs 60fps). At higher fps, the results were more "accurate". Even then, only @ 1200rpm is the 280fps results accurate. It was off by 2 tenths when I tried it @ 300RPM.
What could this be and how can I make these timings more consistent throughout different frame rates and also provide more accurate results? I've also tried handling the input through other than _input() (what I'm using atm), but process()/physics_process() resulted in the same thing.
Video: