CanvasViewportState added
caching added