# vtkInteractorObserver::ComputeDisplayToWorld dirties the Renderer!

**URL:** <https://discourse.vtk.org/t/vtkinteractorobserver-computedisplaytoworld-dirties-the-renderer/10111>\
**Category:** Development\
**Tags:** code\
**Created:** [December 8, 2022, 2:42am UTC](https://discourse.vtk.org/t/vtkinteractorobserver-computedisplaytoworld-dirties-the-renderer/10111 "2022-12-08T02:42:26Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![John.Stone](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/j/a6a055/32.png) [@John.Stone](https://discourse.vtk.org/u/John.Stone)\
**Post date:** [December 8, 2022, 2:42am UTC](https://discourse.vtk.org/t/vtkinteractorobserver-computedisplaytoworld-dirties-the-renderer/10111/1 "2022-12-08T02:42:26Z")

</div>

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:  
vtkRenderer::284

```auto
 // 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 ☹
