This layer should use 'acceleratesDrawing' after going back to this page.

Before:

(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 800.00 600.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 600.00)
      (contentsOpaque 1)
      (acceleratesDrawing 1)
      (children 1
        (GraphicsLayer
          (position 18.00 10.00)
          (bounds 222.00 222.00)
          (drawsContent 1)
          (acceleratesDrawing 1)
        )
      )
    )
  )
)
After:

(GraphicsLayer
  (anchor 0.00 0.00)
  (bounds 785.00 653.00)
  (children 1
    (GraphicsLayer
      (bounds 785.00 653.00)
      (contentsOpaque 1)
      (acceleratesDrawing 1)
      (children 1
        (GraphicsLayer
          (position 18.00 10.00)
          (bounds 222.00 222.00)
          (drawsContent 1)
          (acceleratesDrawing 1)
        )
      )
    )
  )
)

