Hey all, the org.lwjgl.Sys class now has a radically redesigned hires timer.
On Speedstep, HyperThreaded, or dual-processor systems, the hires timer reports wildly inaccurate values (you can check this yourself using System.nanoTime()). Unfortunately this renders every single game I've got on my speedstepped hyperthreaded laptop totally unplayable - even my own games, which I've had to develop with the problem! HalfLife 2 sucked greatly because of this as well.
The symptom manifests itself as the game suddenly going into treacle 30fps mode for a few seconds, then speeding back up to normal rate, over and over. It's horrible.
Sometimes you can start out at normal speed but then the game speeds up instead.
The new hires timer continually corrects itself to take account of this phenomenon. It's not 100% perfect (it can't ever be 100% perfect because it basically has to make a guess that something's wrong 2-3 frames after the slowdown begins) but I can finally play Puppytron at a creamy smooth 60fps on my own computer. And Valve with their multi-million dollar budgets don't appear to be any the wiser
Just thought I'd let you know.