27

アプリケーションでこの例外が発生します。ウェブ上でそれについて議論しているリンクを見つけましたが、それを追跡する方法や回避策を示すものは何もありません。

インターネットからのリンクで返信しないでください。ソースを追跡する戦略を返信してください。回避策を見つけた場合は返信してください。

Source: PresentationCore
Message: Exception from HRESULT: 0x88980406
Stack Trace:
   at System.Windows.Media.Composition.DUCE.Channel.SyncFlush()
   at System.Windows.Interop.HwndTarget.UpdateWindowSettings(Boolean enableRenderTarget, Nullable`1 channelSet)
   at System.Windows.Interop.HwndTarget.UpdateWindowPos(IntPtr lParam)
   at System.Windows.Interop.HwndTarget.HandleMessage(WindowMessage msg, IntPtr wparam, IntPtr lparam)
   at System.Windows.Interop.HwndSource.HwndTargetFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
4

3 に答える 3

9

これは古いですが、解決したのと同じ問題があったので、とにかく答えます。https://stackoverflow.com/a/18003004/1415307

基本的に、このエラーに関する私の問題は、古いビデオ カード ドライバーが原因でした。最新のドライバーに更新した後、問題は解決されました。

于 2013-08-19T19:21:45.687 に答える
8

私の場合、問題のアプリケーションは、指定されたハードウェアのメモリ制限をすでに押し上げていたことが判明しました。まともな量のメモリを使用するコードを追加するたびに、これが発生します。

MemoryFailPoint画像バッファの処理を別のスレッドに配置する機能を実装したときに、メカニズムを使用することになりました。

https://docs.microsoft.com/en-us/dotnet/api/system.runtime.memoryfailpoint

最初の実装はうまくいきましたが、何度も試行した後、QA が OOM 爆弾を引き起こしました。だから私はMemoryFailPoint()withGC.Collect()ループを実装しました(私が知っているハックです...しかし時々...やり遂げます)。

私が学んだ主なことは次のとおりです。

  1. これは WPF の非常に悪いバグです。
  2. 本当に大量のメモリを消費した場合にのみ、心配する必要があります。
于 2013-10-25T20:46:58.250 に答える