OnRenderSurfaceBaseLoaded пустое исключение при подключении с помощью удаленного рабочего стола Windows - PullRequest
0 голосов
/ 14 мая 2018

OnRenderSurfaceBaseLoaded пустое исключение при подключении с помощью удаленного рабочего стола Windows.Протестировано на SciChart 4.2.3.10193 и v5.1.0.11299 в Windows 10. В следующем сообщении есть соответствующие сообщения, но эта проблема не решается в SciChart v5.1.0.11299

https://www.scichart.com/questions/question/nullreferenceexception-when-using-direct3d

Exception 1: Object reference not set to an instance of an object. 
at SciChart.Drawing.DirectX.Context.D3D10.Direct3D10RenderSurface.OnRenderSurfaceBaseLoaded(Object sender, RoutedEventArgs e) 
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) 
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) 
at System.Windows.BroadcastEventHelper.BroadcastEvent(DependencyObject root, RoutedEvent routedEvent) 
at System.Windows.BroadcastEventHelper.BroadcastLoadedEvent(Object root) at MS.Internal.LoadedOrUnloadedOperation.DoWork() 
at System.Windows.Media.MediaContext.FireLoadedPendingCallbacks() 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)

Внесенные нами изменения включают в себя вызов IRenderSurface.Dispose () для освобождения использования памяти, созданного в CustomRenderableSeries с LinearGradient Brush

if(scs.GetValue(SciChartSurfaceBase.RenderSurfaceProperty) is IRenderSurface renderSurface) renderSurface.Dispose();

1 Ответ

0 голосов
/ 16 мая 2018

Согласно веб-сайту SciChart , удаленный рабочий стол должен поддерживаться без сбоев.

В: Работает ли DirectX Renderer через удаленный рабочий стол?

A: Мы используем D3DImage, который представляет собой элемент управления Microsoft, позволяющий делиться контентом DirectX сWPF, позволяющий избежать проблем с воздушным пространством и обеспечить быстрое взаимодействие между WPF DirectX9 и DirectX10 рендерингом.

К сожалению, в D3DImage есть одна неприятная ошибка.Он не будет работать через удаленный рабочий стол, если ваше приложение .NET4.0!Он будет работать через удаленный рабочий стол в .NET4.5 и более поздних версиях.

Начиная с SciChart v4 мы разработали обходной путь, при котором SciChart DirectX теперь будет работать через удаленный рабочий стол.Это происходит автоматически, и к вашему коду не нужно вносить никаких изменений.

Я бы посоветовал, если проблема все еще возникает в последней версии ( проверка последней ночной проверки из NuGet ) для упаковкиКод для воспроизведения и отправить его в техподдержка .

...