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 800.00 638.00)
  (children 1
    (GraphicsLayer
      (bounds 800.00 638.00)
      (contentsOpaque 1)
      (acceleratesDrawing 1)
      (children 1
        (GraphicsLayer
          (position 18.00 10.00)
          (bounds 222.00 222.00)
          (drawsContent 1)
          (acceleratesDrawing 1)
        )
      )
    )
  )
)

