C 顯示雷達目標實時軌跡,不延時

2021-09-25 11:44:57 字數 564 閱讀 1133

一開始的模式:

開兩個執行緒,乙個執行緒a用於接收can資料,將解析的資料,堆入到q堆疊中;

另開乙個執行緒b,用於從q堆疊中將資料取出來,根據標誌資訊將同一幀的資料放入到同一佇列中,每收集完一幀資料,觸發介面顯示事件,將佇列資料databind到指定的chart.series中。(用databind的好處是,不會閃屏,可以直觀的看到目標檢測是否穩定,不要用clear,顯示效果不好);

問題:目標點跡少的情況,還好;點跡一多,入棧快,而取資料的速度跟不上,(關鍵耗時的地方是觸發顯示時間),這樣堆疊裡的資料越積越多,就出現了顯示軌跡延時現象。

優化:思路:顯示沒必要用觸發模式,取消處理執行緒時間;既然主要耗時是顯示,而顯示又沒必要每個幀都顯示,只要保持最新的幀,用於顯示就好了;

處理:將顯示的內容用全域性變數(主要還是佇列或字典啦)儲存,利用定時器,定時將他們繫結到chart.series的points上;偷懶,直接把b執行緒刪了,直接在接收執行緒a裡,將同一幀的資料堆到全域性變數中(注意中轉),用於更新顯示點跡。

寫的有些亂,基本功能可以實現,可以輕鬆應對雷達幀處理時間,做到無延時顯示~

tuxiaobai_2015

LiDAR MEMS雷射雷達點雲實時顯示

mems雷射雷達出來後,為了不用leddartech的ide軟體,於是對其 進行了封裝,以供其他軟體呼叫。在研究的過程中,點雲的實時顯示以前還未做過,就寫了段測試 驗證一下 include stdafx.h include 標準輸入輸出流 include pcl的pcd格式檔案的輸入輸出標頭檔案 i...

雷達介面的顯示

對於活動方位線與局標圈的顯示,目前採用定時器的方式,此次可以做進一步的優化 另外,此部分在採用update 更新時,活動局標圈有時在四個象限的更新會出現不一致,當如果使用repaint 的話,對回波資料的繪製效能可能會造成影響。另外乙個問題,當量程改變時,資訊的更新顯示的需求不明確,解決方案有待討論...

ADS B 雷達 顯示終端5 8

改動日誌 1 更新背景地圖。增加了全國範圍內的國際航路 區域航路資訊,全部航路資訊來自網路及中國民用航空局公布的公開資料 航路採用深藍色畫筆繪製航路中包括有航路 高度及報告點資訊。及報告點資訊採用淡藍色文字輸出。航路資訊的收集相當不easy,因為是專業資料,網路上公開的資料很少,最後從民航局公布的航...