簡體   English   中英

在 WindowsFormsHost 控件中更新 WinForms Chart 時,WPF WebBrowser 不更新

[英]WPF WebBrowser not updating when WinForms Chart is updated in WindowsFormsHost control

我有一個帶有兩個窗口的 WPF 應用程序。 一個窗口包含一個 WebBrowser 控件。 另一個窗口包含一個 WindowsFormsHost,它承載一個用於繪制折線圖的 WinForms Chart 控件。 我嘗試使用 WPF Toolkit 提供的圖表,但內存消耗在增加。 我正在使用 javascript 顯示本地 HTML 文件以在 Google 地圖上顯示位置。 該位置每 100 毫秒更新一次。 除了位置,還收到了一些其他數據,我必須在折線圖上顯示這些數據。

在測試時,我觀察到圖形和瀏覽器都以 500 毫秒的間隔同時更新。 但是當頻率更改為 100 ms 時,瀏覽器停止更新。 還觀察到,如果停止在圖表上繪制數據,瀏覽器磁貼會再次加載,並且位置正在更新。

關於問題可能是什么的任何提示?

這聽起來像是正在更新圖表的非常繁忙的主線程(UI 線程)正在耗盡對 Web 瀏覽器控件的主線程更新的經典示例。 或者,如果除了主線程之外,您有單獨的線程來更新圖表和 Web 瀏覽器,那么與更新 Web 瀏覽器的 I/O 延遲相比,更新圖表的 I/O 延遲同樣較短,因此圖表更新線程是餓死網絡瀏覽器更新。 即使 web 瀏覽器更新和圖表更新來自不同的線程,而不是 UI 線程,一個線程可能會餓死另一個線程。 解決這個問題的方法太多了,這里就不一一列舉了。 您只需要確保對圖表和 Web 瀏覽器控件進行更新的線程有平衡/平等的機會來獲得時間片來做他們的事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM