[問題] Thread被咬住如何解決?

看板C_Sharp (C#)作者 (◢曉筱◤)時間10年前 (2015/07/23 19:26), 10年前編輯推噓1(103)
留言4則, 1人參與, 最新討論串1/4 (看更多)
這陣子在設計一支程式 但是遇到了一些瓶頸苦無解法 只好上來求助各位大大 以下先附上程式圖與程式碼 第一個畫面 http://i.imgur.com/HHyVH9V.png
第二個畫面原本的樣子 http://i.imgur.com/Hbg8HPs.png
第一個畫面中的「開始」被按下後第二個畫面現在的樣子 http://i.imgur.com/tOHVzMi.png
程式碼:http://ge.tt/43veWwK2/v/0 原本期待的狀況 =============================================== 在第一個畫面的開始被按下後跳轉第二個畫面 此時出現圖片與右下角的灰色OK 等待ProcessBar 1.5秒跑滿後(此處在正式的程式中會進行一些計算) 灰色OK會變成綠色的OK 現在發生的問題 =============================================== 在開始按下後正常跳轉第二畫面 但是由於已經開始大量計算1.5秒 因此圖片跟灰色OK被卡住來不及顯示 而且此時由於大量計算 ProcessBar在前半段非常卡頓 待1.5秒過後 圖片跟綠色OK才會出現 但此時ProcessBar的動畫大概也才跑完一半 等到ProcessBar整個動畫跑完已經過了大約兩秒了 想了很久 一直想不到這個問題該如何解決 請版上先進們給個方向 謝謝 m(_ _)m -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.100.210 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1437650804.A.118.html

07/23 21:58, , 1F
不要在UI thread做CPU bounding的事情。
07/23 21:58, 1F

07/23 21:59, , 2F
這例子一直去頻繁更新UI也是不好的例子就是了,
07/23 21:59, 2F

07/23 21:59, , 3F
請把耗時的時間交給背景去做,以下是更改的例子。
07/23 21:59, 3F

07/23 22:00, , 4F
http://ge.tt/9HD62xK2/v/0?c,有誤請見諒。
07/23 22:00, 4F
※ 編輯: pthuang (114.37.100.210), 07/24/2015 12:50:29
文章代碼(AID): #1LiCzq4O (C_Sharp)
文章代碼(AID): #1LiCzq4O (C_Sharp)