推 anumis: 我會選 event,單純是不想要再開1個 thread 去做同樣的事; 01/25 08:23
→ anumis: 說到效能,你做的東西對效能的定義是什麼?一秒幾千筆/幾 01/25 08:23
→ anumis: 百 mb 的資料? 01/25 08:23
是沒有那麼誇張,但是也不算非常少了,
兩張卡控制14個馬達,兩張DIO,兩個相機(20FPS * 5MB *2 )
如果要全部監控到GUI,就是14+2+2個thread在做狀態 polling
如果GUI不採用event,thread數量就 *2 (感覺我已經自問自答了?)
算一下好像還真的有破100MB ~.~"
但只是全部都是相機惹的禍...
目標就是不要掉FPS,然後GUI不要LAG
※ 編輯: s4300026 (60.250.235.221), 01/25/2019 09:32:39
推 anumis: 我覺得你要先從架構上來看 01/26 10:46
→ anumis: 1. 監控的目的 (Teaching?/手動製程?),這點決定你更新的 01/26 10:46
→ anumis: 頻率 01/26 10:46
→ anumis: 2. 每個資料流擷取一筆的速度 (Motion/DIO/Camera),這個 01/26 10:46
→ anumis: 決定你更新的間隔 01/26 10:46
→ anumis: 你有了基本資料,你才能推導出你現在的pc"理論上"能做到什 01/26 10:46
→ anumis: 麼程度,接下來才有頭緒解更新的問題 01/26 10:46
推 anumis: 以你的資料來看,用一條 Thread 做更新就夠了,更新的瓶頸 01/26 10:53
→ anumis: 會是在相機 01/26 10:53
你說的沒有錯,正常來說只要一個thread就夠了
說實話,GUI更新超級快,一點意義也沒有,人們也不在乎,也反應不過來
目前的問題在於 抓取 的行為要怎麼樣只寫一次就夠了?
我一個GUI,配一個馬達
thread 開一個,然後進行一對一更新
但如果我今天有 14 個馬達,就算我只更新當前顯示的 GUI
那我也要撰寫 event 或 polling 的方法
那我的 event 或 polling 方法要寫 14次嗎?
如果不想寫 14 次
那就包裝成class
那就會遇到 hook 14 次比較好,還是多產生 14 個 polling thread 比較好?
※ 編輯: s4300026 (60.250.235.221), 03/09/2019 17:07:24
推 sd016808: 看你是取資料慢還是更新GUI慢,取資料慢就用event,資 03/10 23:05
→ sd016808: 料都還沒更新你Polling也沒用,若是更新GUI慢就用pollin 03/10 23:05
→ sd016808: g,不然你取樣速度會被更新GUI卡住 03/10 23:05