attempt to move painting into batches that don't block rendering