C1FlexChart在个别电脑上崩溃
我们的软件在个别电脑上运行的时候,当点到有C1flexChart控件的界面时就会崩溃,下面是报错信息,这是什么原因造成的呢?2020-04-29 12:26:54,280 ERROR RollingFileAppender [(null)] - /****** ??镲唔诒??呷, Message:Value does not fall within the expected range. ; CallStack: at #pqo.#ruo.#0We()
at #pqo.#ruo..ctor(#wuo panel)
at #pqo.#muo.#9il(Boolean #ajl, Brush #Jpb, Size #fuo)
at C1.WPF.Chart.RenderCanvas.ArrangeOverride(Size arrangeSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.Border.ArrangeOverride(Size finalSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.Control.ArrangeOverride(Size arrangeBounds)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at System.Windows.Controls.Grid.ArrangeOverride(Size arrangeSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
at System.Windows.UIElement.Arrange(Rect finalRect)
at MS.Internal.Helper.ArrangeElementWithSingleChild(UIElement element, Size arrangeSize)
at System.Windows.Controls.ContentPresenter.ArrangeOverride(Size arrangeSize)
at System.Windows.FrameworkElement.ArrangeCore(Rect finalRect)
.....中间重复部分和上面几行差不多
at System.Windows.ContextLayoutManager.UpdateLayout()
at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()
at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
看错误提示信息是“值不在预期范围内”。这个我这边目前无法确定具体的原因。有可能是特定数据异常的原因,也有可能是客户系统的原因。
目前主要还是需要重现问题,你能否提供一个可以重现问题的示例,这个需要你先将Flexchart部分的独立出来做一个示例,然后在客户电脑上看看能否重现偶发的问题 经过测试,找到原因是因为设置了RenderMode="Direct2D"造成的崩溃,如果设置RenderMode="Default"则没有问题,请问这种情况应该怎么处理呢? 在WIN10上不会出现,WIN7上会有这种情况 我看WIN7都是DirectX11,WIN10都是DirectX12,这个是否有影响呢? 本帖最后由 Richard.Ma 于 2020-6-1 10:55 编辑
RenderMode设置为Direct2D可以提高性能,如果你这边的数据量不是特别大的话,建议设置为Default就可以了
目前没法判断是否是DirectX版本的影响。
我在win7上也已经重现了此问题,
这个已经作为bug提交给开发人员来确认。Bug ID:438538
有新的进展我会在这里回帖更新
Richard.Ma 发表于 2020-4-29 14:53
看错误提示信息是“值不在预期范围内”。这个我这边目前无法确定具体的原因。有可能是特定数据异常的原因, ...
C1FlexChart最多支持多少个点,我有时候有十几万个点想以波形图展示出来能展示吗? 松宸 发表于 2021-4-28 15:33
C1FlexChart最多支持多少个点,我有时候有十几万个点想以波形图展示出来能展示吗?
几十万个点可以吗? 目前我们这边测试在Direct2D下,1W个点可以保持流程,更多的可能就会有些卡顿了,你说的几十万个点,这个你这边可以来根据实际场景测试验证。
页:
[1]