Я написал приложение WPF .NET (.NET 4.5), используя следующие библиотеки:C# .NET WPF приложений зависает случайным образом (WgxConnection_ShouldForceSoftwareForGraphicsStreamClient)
- System.Windows.Interactivity.dll
- Microsoft.Practices. ServiceLocation.dll
- GalaSoft.MvvmLight.Platform.dll
- GalaSoft.MvvmLight.Extras.dll
- GalaSoft.MvvmLight.dll
Я использую 2 Таймеры:
System.Threading.DispatcherTimer
(клещи каждые 200мс)- Просто задает свойство DateTime, который привязан к метке, чтобы DateTime.Now.
System.Timers.Timer
(клещей каждую секунду)- Установить фокус на текстовое поле, запрашивает данные из веб-сервиса (в задаче асинхронном)
- Обновление ICollectionView связан с Datagrid (с использованием
Application.Current.Dispatcher.BeginInvoke
)
Приложение работает на ~ 50 для Windows 7 машин (с 7 утра до 5 вечера) ш без каких-либо проблем.
На только 1 Windows 7 машины он просто случайно замерзает с высокой загрузкой процессора и единственной активной темой: WgxConnection_ShouldForceSoftwareForGraphicsStreamClient
Там нет записей в журнале событий Windows и нет пользовательских событий, который вызывает это.
ничего не могу найти об этом WgxConnection...
Есть ли у кого-нибудь идеи?
EDIT:
Просто нашел фрагмент "UnsafeNativeMethods.WgxConnection_ShouldForceSoftwareForGraphicsStreamClient();" в MediaSystem.cs: https://referencesource.microsoft.com/#PresentationCore/Core/CSharp/System/windows/Media/MediaSystem.cs
-> wpfgfx_v0400.dll
Может быть "RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly;" может изменить поведение?
Я еще не нашел разницы между этим и другими ПК относительно GPU. Я не использую никаких графических эффектов, кроме показанного «IsIndeterminate = true ProgressBar», в то время как фоновая работа выполняется. я установить частоту кадров до 20 из-за более высокую производительность (60fps по умолчанию): Timeline.DesiredFrameRateProperty.OverrideMetadata (... Интересно, если HW рендеринг действительно необходим в моем случае Там будет возможность отключить его. , настройка: ProcessRenderMode. –
Программа работает каждый день без перерыва, она запускается каждый день утром. Проблема описана, возникает всего несколько дней ... –
Используете ли вы таймер для fps или фактическую графическую карту command – Slipoch