Does the software render engine use a single or double buffer method? I know that you do some crazy thing by drawing to I believe a PImage(I may be mistaken on the term) to render. Are you using one or two of them?
Processing draws graphics in a PGraphics (named g) and at the end of draw(), copies this buffer to screen. So, yes, it is doing double buffering (the video buffer and g). Although I don't know if it handles correctly video synchronization to display the buffer, as I see sometime a bit of tearing with large objects moving on screen.