I’m writing a game in Java. And, oh wonder, i have performance issues. I benchmarked the paint itself – 1000 cycles in 3 ms tops. The game logic is even below that. So far, so good. But i still encounter an annoying lag: When scrolling, when zooming, when clicking. The problems get worse when i zoom in and more objects are placed. But still – even when I loop the painting a 1000 times the lags stays more or less the same, so that cant be it.
I tried putting the loop in a task – still the same. I tried pausing the task in between paints – still the same.
Animations run as smooth as silk (since the framerate is stable and high, that makes sense). So how on earth do i organize the inputs in an orderly fashion? Put them all in a seperate thread?
Any input would and will be greatly appreciated!
I’m writing a game in Java. And, oh wonder, i have performance issues. I
Share
It sounds like you’re using listener callbacks directly on the Swing Event Dispatch Thread, where the UI updates are being done. You should use a command queue, and put events on the queue when a callback is invoked, with the nature of the command, then you use this in the main game update loop that has nothing to do with the EDT.