-
Notifications
You must be signed in to change notification settings - Fork 601
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
LiveChartsCore.SkiaSharpView.Avalonia 2.0.0-beta.800-11.0.0-rc1.1 freezes #1076
Comments
This is a real blocker for me. I would be thankful for any feedback. |
Thanks for the project. The app is not freezing for me, it gets sluggish when you have around 20k points. This is the expected behavior, you can remove the points that you do not longer need, you could also compute your data before adding it to reduce the number of points, or you could wait for the official release of the high-performance package, I mean in general the performance seems nice, about 20k points, we can zoom in/out but to get more performance you need to run a virtualization algorithm, for more info see: https://github.com/beto-rodriguez/LiveCharts2/releases/tag/v2.0.0-beta.350 Am I missing something? |
Never mind, I got the issue. This happens because when you zoom so deep then the double type has not enough precision to handle the current range, the axis is for sure stuck at an infinite loop. I think I can fix this internally, while this is fixed you can set a limit in the axis zoom, for example in this case I force the zoom to stop at 1ms: XAxes = new Axis[]
{
new Axis
{
MinZoomDelta = TimeSpan.FromMilliseconds(1).Ticks,
}
}; |
For now there is just a warning, in the next versions of the library, we will throw when we detect this issue, A possible solution is to set the In cases where setting where @Developer-Alexander feel free to reply or reopen the issue if the issue persists. |
When will the internal fix be available? Limiting MinZoomDelta is no valif workaround for me as I don't know the value at compile time. |
The referenced commit fixes this, I think it is a smart way to prevent this issue, in the next version of the library, setting a min limit will not be a requirement. |
I am getting the same error:
<lvc:CartesianChart
AnimationsSpeed="0"
AutoUpdateEnabled="True"
EasingFunction="{x:Null}"
Series="{Binding PositionSeries}"
XAxes="{Binding XAxes}"
YAxes="{Binding YAxes}"
ZoomMode="None" /> Any tips on how to debug the number of separators that are being created? More importantly, if my data range changes all of a sudden because units are changed in the application, how can i deal with this? Users in my app often change units and i am seeing this error arise. and Even though I only change 15 points at a time, when the user changes units the next point will have a new range far from previous point |
Fixed an issue where _stepCount was not being reset, causing ThrowInfiniteSeparators() to be triggered as _stepCount accumulated over time, even though the actual step count did not exceed 10,000. (beto-rodriguez#1076 (comment)) Now, _stepCount is reset to 0 before each relevant logic check. This resolved the exception that occurred about 10 minutes after the chart was displayed.
Describe the bug
Avalonia app freezes, when you zoom very deeply into chart. It seems to happen only when only a few points are visible or when the visible interval on the x axis is very small.
Additional Info:
To Reproduce
See attached minimal app.
ChartTest_freeze.zip
Expected behavior
The app should not freeze.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
The text was updated successfully, but these errors were encountered: