[問題] Qt動態折線圖 cpu使用率高

作者: gj942l41l4 (米食主義者)   2017-06-04 16:43:01
大家好
我最近利用Qt寫個程式(作業系統windows10)
將sensor訊號經由ADC利用RS485抓到電腦並做real-time資料繪圖
(每抓一筆資料就把它畫進折線圖中即時知道趨勢)
我把Qt中兩個範例程式"terminal"和"dynamic spline"做結合去弄出我要的功能
是做得出來,但我跑這個程式的時候CPU使用率偏高
而實際要執行程式的電腦是平板電腦CPU不好,且同時有別的程式要執行
偶爾會不小心讓另一個程式crash
我不是電資背景的只學過簡單程式設計,不太知道遇到這種狀況該怎麼找問題
但我自己觀察,範例程式"dynamic spline"單獨執行時CPU使用率本身就很高
我想主要問題應該出在它的繪圖方法上
想請問大家有比較好的解決方法讓動態繪圖不那麼吃效能嗎?
謝謝大家
作者: MOONY135 (談無慾)   2017-06-04 21:11:00
QChart? 感覺不是繪圖造成的 你塞假資料不要掃數據看看你塞假資料就可以知道是繪圖造成 還是掃資料的地方讓你的程式頓
作者: bdvstg (bdvstg)   2017-06-04 22:53:00
https://doc.qt.io/qt-5/qtcharts-examples.html要不要試試Audio Example或是Qml Oscilloscope看介紹 示波器那個 適合在有效能需求的情況下用
作者: gj942l41l4 (米食主義者)   2017-06-06 07:46:00
謝謝你們!我後來是把程式功能分段拿掉去觀察CPU使用率後找到問題,發現是一個在dynamic spline範例程式中用來隨時間製造假資料的timer會吃CPU,會一次把整個線程吃掉。我忘了刪掉它,但我的程式根本沒有使用到它...
作者: longlongint (華哥爾)   2017-06-06 18:51:00
spline繪製本身吃資源 看你要改用直線還是多累積一些資料再一次更新畫面

Links booklink

Contact Us: admin [ a t ] ucptt.com