vtkInteractorObserver::ComputeDisplayToWorld dirties the Renderer!

So, I’d like to use vtkRenderer::BackingStoreOn() but I just noticed that vtkInteractorObserver::ComputeDisplayToWorld() and vtkInteractorObserver::ComputeWorldToDisplay() mark the passed renderer dirty because they indirectly call vtkRenderer::SetWorldPoint() and/or vtkRenderer::SetViewPoint() and/or vtkRenderer::DisplayPoint() all of which call vtkRenderer::Modified().

This defeats this code in the vtkRenderer where it checks if the BackingStore can be used:

 // if backing store is on and we have a stored image
  if (this->BackingStore && this->BackingImage && this->MTime < this->RenderTime &&
    this->ActiveCamera->GetMTime() < this->RenderTime &&
    this->RenderWindow->GetMTime() < this->RenderTime && this->BackingStoreSize[0] == size[0] &&
    this->BackingStoreSize[1] == size[1])

In essence the BackingStore feature is permantly disabled in all but the most trivial programs.

This makes me very sad :frowning: