change so that vmem is standard pixel buffer and use delayed work to improve performance