看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: Win10, Linux, ...) MFC 想讓圖形根據給予的數據連續更新畫面 每一個 frame 之間希望有 interval 看起來才連續動的感覺 試過 thread, 更新畫面的時候, 還是沒辦法動 UI, UI 是凍結的 void delay() { // 方法1 this_thread::sleep_for(10ms); // 方法2 int nextTime = time(0) + secs; while (time(0) < nextTime); } thread testThread(delay); testThread.detach(); 請問我那邊做錯了嗎 有翻到很古早很古早的 sample 是用 ON_WM_TIMER() 做的 運作起來就很順了 請問這兩者之間有什麼差異呢 謝謝 EDIT1 完整 code https://pastebin.com/DEUsiG25 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.11.247 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1565188163.A.964.html ※ 編輯: PythonScript (114.33.11.247 臺灣), 08/07/2019 22:29:41
Schottky: 差異在於 MFC 不支援 thread 08/07 23:52
Schottky: 我之前做過在 MFC 裡面用 thread 更新畫面,但那塊畫面 08/07 23:54
Schottky: 是我自己用 OpenGL 畫的,內容物與 MFC 無涉 08/07 23:54
Schottky: 這個 thread 也可以送 message 催促 MFC 更新就是了 08/07 23:55
xk4771127: 沒看到code不知道怎麼幫忙 08/08 00:18
boss0405: MFC可以透過thread更新UI啊,你要不要貼個完整的code看 08/08 00:46
boss0405: 看 08/08 00:46
Schottky: 是說你可能想反了,應該是讓 MFC 去更新 UI 08/08 06:07
Schottky: 另開 worker thread 去做耗時的運算並回報進度才對 08/08 06:07
※ 編輯: PythonScript (114.33.11.247 臺灣), 08/08/2019 10:27:34
PythonScript: 引擎是 3rd party setParameters 就是呼叫引擎裡面 08/08 10:28
PythonScript: 的圖形旋轉 這樣一講 我這樣寫好像怪怪的 08/08 10:29
※ 編輯: PythonScript (114.33.11.247 臺灣), 08/08/2019 10:32:19
obj: 更新ui元件要在uithread, 其他的 thread更新要用postmessage 08/08 22:43
obj: 的方式到uithread 08/08 22:43
xk4771127: 看起來你想做成dll,需要創一個thread然後callback 給u 08/09 01:35
xk4771127: i繪圖 08/09 01:35
※ 編輯: PythonScript (114.33.11.247 臺灣), 08/09/2019 03:36:20
PythonScript: 原來是這樣 好的 感謝 08/09 03:37