我有以下情況:WPF實時圖應用程序體系結構
我想發送(通過串行端口)一些命令到設備。該設備確實將數據連續發送給我(每秒最多12000個值)。
要控制某些設置,我需要一些按鈕來發送命令到設備,以在數據流之前和期間啓動/停止/更改設置。此外,我想有一個這個數據的實時陰謀。我當然會過濾這些數據。同樣在某些時間標記處會有一個信號,表明我想切出接收到的數據的某個窗口。
這意味着我將有兩個圖表。我已經使用WPF取得了一些進展,但現在當我與下圖交互(縮放/平移)時,上面的一個會顯着凍結。這是因爲兩者都經常刷新!
工作(數據接收/過濾)使用線程完成,但更新的圖必須在ui線程內完成。
任何想法如何解決這個問題?也許使用多個進程?
我用oxyplot的技術含量的領先優勢。我在UI線程中做的唯一事情就是爲圖表賦值並更新它。據我所知,這必須在UI線程中完成。另外如果我不更新情節,我會得到高fps。你有沒有一個例子來描繪你的浪潮?也許這已經給了我一些提示,如何做得更好。 – user2799180
當然,明天我會分享一些例子。據我所知(我在這方面做了一個小調查),oxyplot對於實時數據並不是很好。事實上,你沒有太多的選擇。 http://dynamicdatadisplay.codeplex.com/(http://d3future.codeplex.com/)很好,但很過時。我不會在真實項目中使用它,但對於調查來說它非常好。您可以使用[Direct 2D](http://blog.rthand.com/post/2012/01/10/Realtime-graph-for-WPF.aspx)。而且你總是自己渲染圖表,這正是我所做的。 – MrZoidberg
我也做了一些調查。我發現了dynamicdatadisplay,但它確實不是最新的。我會看看Rx和Direct 2D。儘管我會對RenderTargetBitmap方法非常感興趣。我已經讀過它,但從來沒有找到一個很好的例子。這將是非常棒的。接收和處理我也在不同的線程中。非常感謝! – user2799180