Skip to content

Avalonia app freezes when when zooming into a Scatter very deeply #3930

@DevAM-Tools

Description

@DevAM-Tools

Issue: Avalonia app freezes when when zooming into a Scatter very deeply

ScottPlot Version: 5.0.35 with Avalonia 11.1.0 beta2

I have a Scatter and when I zoom into the data very deeply the app freezes. The freeze is causes by exceptions that are thrown in the background very frequently.

Ausnahme ausgelöst: "System.InvalidOperationException" in ScottPlot.dll
[Visual]Exception in render loop: 'System.InvalidOperationException: limits returned by the autoscaler must always be in a good state
   at ScottPlot.AutoScalers.FractionalAutoScaler.GetAxisLimits(Plot plot, IXAxis xAxis, IYAxis yAxis)
   at ScottPlot.Rendering.RenderActions.AutoScaleUnsetAxes.AutoscaleUnsetAxesToData(Plot plot)
   at ScottPlot.Rendering.RenderActions.AutoScaleUnsetAxes.Render(RenderPack rp)
   at ScottPlot.Rendering.RenderManager.Render(SKCanvas canvas, PixelRect rect)
   at ScottPlot.Plot.Render(SKCanvas canvas, PixelRect rect)
   at ScottPlot.Avalonia.AvaPlot.CustomDrawOp.Render(ImmediateDrawingContext context)
   at Avalonia.Rendering.Composition.Drawing.ServerCompositionRenderData.Render(IDrawingContextImpl context)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Controls.CompositionBorderVisual.ServerBorderVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Controls.CompositionBorderVisual.ServerBorderVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Controls.CompositionBorderVisual.ServerBorderVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionContainerVisual.RenderCore(CompositorDrawingContextProxy canvas, LtrbRect currentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionVisual.Render(CompositorDrawingContextProxy canvas, Nullable`1 parentTransformedClip, IDirtyRectTracker dirtyRects)
   at Avalonia.Rendering.Composition.Server.ServerCompositionTarget.RenderRootToContextWithClip(IDrawingContextImpl context, ServerCompositionVisual root)
   at Avalonia.Rendering.Composition.Server.ServerCompositionTarget.Render()
   at Avalonia.Rendering.Composition.Server.ServerCompositor.RenderCore(Boolean catchExceptions)
   at Avalonia.Rendering.Composition.Server.ServerCompositor.RenderReentrancySafe(Boolean catchExceptions)
   at Avalonia.Rendering.Composition.Server.ServerCompositor.Render(Boolean catchExceptions)
   at Avalonia.Rendering.RenderLoop.TimerTick(TimeSpan time)' (RenderLoop #65505271)
Das Programm "[2856] Desktop.exe" wurde mit Code 4294967295 (0xffffffff) beendet.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions