推 gavintsou:感謝您的回覆! 02/04 19:38
※ 引述《gavintsou (toward)》之銘言:
: 之前寫一個模擬碰撞的問題
: 例:兩顆球在一個 bounded 的二維空間裡亂跑,一旦相撞即停止
: 並且希望球行走的過程能呈現出來
: 我的做法是將這兩顆球每走動三次即於 picturebox 中畫出
: 這個做法似乎不盡理想,因為當球的數量多時,
: 其程式好像當掉一般 畫面停止更新。
你是寫個loop,loop裡面計算-->繪圖-->更新picturebox-->計算-->繪圖...
這樣嗎?
if yes, 試試看拆掉 loop,改用一個timer去驅動,例如一秒鐘30fps
至於每個frame要計算幾個step你自己決定
這是個很笨的方法,但我猜對你的狀況有幫助。其實這跟你下面說的
threading意義是相同的。
: 同時間看到有 Thread 可以使用
: 所以想說如果要解決這個問題,是否可將計算的部份獨立成新的thread
: 請問各位,這樣畫面的當掉的問題即可解決嗎?
: 由於 Thread 的用法目前還在研究中,
: 如果繪圖時所讀的物件與 Thread 所改寫的物件相同,可行嗎?
: 還有 Thread 呼叫 Start() 就是開始執行嗎? 看一些例子,還需要呼叫 Join() ???
: 一連串的問題 XDDD
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.115.228.252