yeah my timing code keeps track of the remainder. The jerk TonyG was seeing didn't sound like like a 2 frame/1 frame "moire" effect (which occurs continuously), it sounded like the millisecs from one from frame to another had a mini peak which lasted a few frames thus resulting in a "glitch". I've seen this plenty of times with background tasks interfering.
Apparently some CPUs have issues with Performance Counters.
In your example Flip uses a default flag of -1 which does have syncing of sorts, but not VSync. BlitzMax uses a timer to keep it at 60Hz by default and then Flips without VSync. Flip 1 properly uses VSync so will have an FPS the same as your desktop Hz (85Hz in my case for my CRT). Perhaps TonyG has a TFT and is running his desktop at 60Hz so Flip -1 looked OK and so did Flip 1 (also 60Hz). Full-screen on my PC was fine too with Flip because the timer was running at 60Hz, the same as the full-screen Hz.
Apparently some CPUs have issues with Performance Counters.
In your example Flip uses a default flag of -1 which does have syncing of sorts, but not VSync. BlitzMax uses a timer to keep it at 60Hz by default and then Flips without VSync. Flip 1 properly uses VSync so will have an FPS the same as your desktop Hz (85Hz in my case for my CRT). Perhaps TonyG has a TFT and is running his desktop at 60Hz so Flip -1 looked OK and so did Flip 1 (also 60Hz). Full-screen on my PC was fine too with Flip because the timer was running at 60Hz, the same as the full-screen Hz.