Page MenuHomePhabricator

Display Update with crosshair interaction (Scrolling/..) is inefficient
Closed, ResolvedPublic

Description

the slice navigation controller communicates a newly selected slice
(in SliceNavigationController::SelectSliceByPoint( const Point3D &point ))

by sending a new world geometry event

this->SendCreatedWorldGeometryUpdate();

this one replaces the old one.

This is not neccessary, because the world geometry should not have been changed.
(Instead only the plane geometries should be changed).

Event Timeline

kalali claimed this task.
kalali added a subscriber: kalali.

I looked into this and although I understand the problem, the issue does not really exist, as far as I can see:

  • changing the slice via scrolling will call SliceNavigationController::SelectSliceByPoint
  • calling SliceNavigationController::SelectSliceByPoint will call SliceNavigationController::SendCreatedWorldGeometryUpdate
  • calling SliceNavigationController::SendCreatedWorldGeometryUpdate will InvokeEvent(GeometryUpdateEvent(m_CreatedWorldGeometry, m_Slice->GetPos()))
  • invoking the event will lead to a call to BaseRenderer::UpdateGeometry

-> until here I agree with the task description

However, the BaseRenderer::UpdateGeometry-function simply extracts the plane geometry from the already valid member variable m_CurrentWorldGeometry; the variable is NOT newly assigned / replaced.