In my application the calculation of object-movements is presently done in the GUI-thread. Using it that way I can Invalidate the display-area of the old postion for each object, calculate the new position and then Invalidate the new area in order to speed up the Paint for the whole display.

Since the calculation of all the object-movements could be time consuming I'd like to do that in a background thread. However I'd be loosing the above mention way to Invalidate only display-areas where a an object was and where it is after the calculation. In other words I would have to draw the complete display in each cycle.
Does that still justify the use of a second thread or should I stay in the first mentioned procedure.

Or am I missing something?