Re: [問題] wxWidgets (弄了好幾天XD)
※ 引述《applecool (蘋果酷)》之銘言:
: 請問一下各位,
: 我現在有攝影機輸入(pixel值陣列),
: 直接OnPaint畫在dc上,
: 如果不在OnPaint裡面加上
: Refresh(true);
: Update();
: 就只會印一張
: 如果加上
: 雖然會一直出現攝影機的影像
: 但是UI按鈕幾乎都失效,
: CPU記憶體用到百分之百
: 想請問我到底要怎樣才能讓他印出影像而又不會按鈕失效呢???
: 已經弄了好幾天了 T____T
: 我有嘗試過 OnIdle, 本來想用多執行緒,但是不知道跨平台的寫法要怎麼寫 XD
: 請各位教教我
: 感謝!!!
剛剛你傳訊問我 timer 做法
我只能給你個簡單流程 因為我也沒寫過 wxwidget 不過我寫過 gtk
做法都差不多
我們假設 fps 是 30
1.timer 開始
2.紀錄時間 a
3.擷取影像
4.處理影像
5.將影像畫到 screen 上
6.紀錄時間 b
7.設定下次 timer 時間 1/30 秒 - (b - a)
8.timer 結束
這樣可以比較精確的控制到 fps 30
不過 timer 的觸發很容易受到其他的事件影響
如果要更精確的 就改用 thread 吧
1.while(1) {
2.紀錄時間 a
3.擷取影像
4.處理影像
5.將影像畫到 screen 上
6.紀錄時間 b
7.sleep( 1/30 秒 - (b - a))
8.}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.160.66
→
09/04 15:33, , 1F
09/04 15:33, 1F
推
09/04 15:33, , 2F
09/04 15:33, 2F
→
09/04 15:34, , 3F
09/04 15:34, 3F
→
09/04 15:35, , 4F
09/04 15:35, 4F
推
09/04 18:09, , 5F
09/04 18:09, 5F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):