use subimage for local buffer render for better performance