我已經看到了一些類似的問題,我製作了一個適用於我的系統,但我需要優化它,因爲這個程序本身佔用了大量的CPU負載。用gnuplot動態繪製一個易變的數據文件
確切地說,這是問題。
我有一個輸入信號/數據流,我需要實時繪圖。我只想要一次顯示有限數量的點(說1024個點),因此我繪製了沿x軸的數據點與x軸上0-1024的索引。傳入數據的值範圍爲0-1023。我現在所做的(這全部是在C++中)是我把數據放到一個循環中,每當數據被更新時(或者每第二/第三個數據點),我就寫出一個文件並使用管道,我用gnuplot繪製該文件中的數據。
雖然這個工作幾乎完美,但它會導致一定的負載(根據輸入數據速率,我在Core 2 Duo的兩個內核上看到的使用率甚至達到70%)。我需要運行一些處理器密集型代碼以及這個簡短的程序,所以我覺得幾乎有必要優化它。
我希望能做的事情是這樣的:我只能繪製當前繪圖和新數據之間的差異(或繪製每個點的圖形,而不重新繪製整個圖形,以便舊的項目在該x索引被刪除)。
我在圖上有固定數量的點,所以replot不起作用。我想要刪除那個x位置的舊點。
您正在進行系統調用來調用gnuplot? gnuplot的輸出到哪裏去?進入圖形文件? – Mark 2012-07-11 18:28:16
Downvoter:請發表評論,說明完全**爲什麼**你downvoted。如果你不提供反饋,人們應該如何學習? – mgilson 2012-07-12 01:36:21
@Mark - 推測它會進入一些終端(可能是x11或wxt)。 – mgilson 2012-07-12 01:36:55