0
我在調用應用程序主線程中的某些圖形方法時遇到問題。我使用SlimDX在我的窗口控件中呈現。要使用表格Invoke
在主線程中執行圖形代碼。通常這個工作沒有任何問題,但有時(沒有固定的時間間隔)應用程序凍結,調試器告訴我應用程序處於等待狀態。應用程序在永久等待中調用
的代碼是如下:(a System.Windows.Forms.Fom
)使用SlimDXs MessagePump.Run
運行
public void CallOnThread(Action action)
{
if (mWindow.InvokeRequired)
action();
else
mWindow.Invoke(action);
}
的窗口。
我看過其他貼子,其中Dispatcher.Run
建議,但實際上只是阻止整個線程不運行任何渲染。
該行爲的原因是什麼?
感謝和問候
你的'if'和'else'子句看起來應該是相反的 – BrokenGlass 2012-01-28 23:26:44
有點令人尷尬。刪除我自己的實現使用System.Windows.Threading.Dispatcher和使用Form.Invoke我插入那個小東西作爲一個新的錯誤...到目前爲止,它似乎與反轉如果。它遲到了...... – Muepe 2012-01-28 23:38:08