wow!
atlast some1 else has encountered this problem!!
I believe it is a problem with the way Java is using DirectDraw and is a problem specific to Win98.
It only occurs when in fullscreen and when using a Page Flipping BufferStrategy.
I’ve got a theory as to the cause,
when bufferStrategy.show() is called, Java waits for a vsync.
While it is waiting for the vsync it the event scheduling Thread is prevented from interrupting it. (this is only logical afterall, if the event thread could interrupt it you would miss the vsync often, which would result in massive loss of FPS)
Ofcourse, the Event Thread should interrupt your render loop while it is executing, so the events should still get serviced.
However, if your render loop executes very quickly, it is likely that the scheduler would never get a chance to interrupt. Hence the Event scheduler would end up never getting any processor time.
I don’t know if this theory is correct; all i can say is that it fits the facts :o
If I am correct, then the following code on Win98 should result in the experienced behaviour.
setFullscreenWindow(this);
createBufferStrategy(2);
BufferStrategy bs = getBufferStrategy();
while(true)
{
//Graphics g = bs.getDrawGraphics();
//g.dispose();
//^^ these calls maybe needed for the problem to surface
bs.show();
}