The problem is not a rotary encoder, but how the software handles the signals. That's what interrupts are for, the command should make it into the software queue basically instantly, ensuring commands aren't lost.
Oh great, why don't you just implement automotive user interfaces in PHP? ;)
"I'm not a real programmer. I throw together things until it works then I move on. The real programmers will say "Yeah it works but you're leaking memory everywhere. Perhaps we should fix that." I’ll just restart Apache every 10 requests." -Rasmus Lerdorf
"We have things like protected properties. We have abstract methods. We have all this stuff that your computer science teacher told you you should be using. I don't care about this crap at all." -Rasmus Lerdorf
Good old reliable polling. That's where it's at. 2 second response for a volume knob should be quick enough for anyone!