Hello all. I’m doing a 2d-game with LWJGL. I’m drawing 64x45 tiles in the level and I wanted to draw only the ones that have changed. First I used pbuffer to achieve this but it was too slow and clumsy way to do it. So now i’m simply not using glClear(GL_COLOR_BUFFER_BIT) at all which works great… in windowed mode. In fullscreen mode with V-sync disabled I’m getting horrible flickering with black lines. In fullscreen mode with V-sync enabled the flickering goes away but the tiles are transparent and I see the main menu background image through the tiles - even though I do glClear(GL_COLOR_BUFFER_BIT) before changing to level’s rendering. So the tiles for some reason are about 50% translucent.
Because I’m not rendering the tiles all the tme i have to update the tiles which are under mouse cursor all the time. But in fullscreen mode it either doesn’t work correctly - if I move the mouse too quickly it leaves a trace (these ghost cursors are transparent too even though they shouldnt be).
The weirdest thing is that when my game was running and I got a notice from Windows Messenger saying that someone logged in (a pop-up window), all those problems did go away and it worked just like it was supposed to (until I restarted the game of course).
I’m not using depth-buffer at all (setting it to 0 bits size upon display creation).
I have Windows XP, Radeon 8500 (catalyst 4.5, newest) and LWJGL 0.9a.
Anyone have any ideas what might be happening here?

Can’t see why there would be a performance problem if you do it correctly.