看板 GameDesign 關於我們 聯絡資訊
我有個程式要載入差不多6MB的24位元點陣圖 載入的時候都會頓一下 是因為尋找足夠記憶體所以花了點時間嗎? 這樣正常還是說有問題 是不是有比較好的處理方式 因為這是一張1600*1200的地圖(以後有可能更大) 我想做類似即時戰略的視窗和地圖 畫面可以上下左右移動 程式流程 1.把地圖畫到HDC上 ┌──────────────┐ │ │ │ │ │ │ │ │1200 │ │ │ │ └──────────────┘ 1600 2.把地圖上的物件畫出來 ┌──────────────┐ │ │ │ <囧> │ │ │ │ │ /\ │1200 │ │ │ │ └──────────────┘ 1600 3.把HDC某個部份畫到視窗上 ┌──────────────┐ │ │ ╭───_口X │ <囧> │ │ <囧> │ │ │ │─→ │ │ │ │ /\ │1200 │ /\ │←視窗 │ │ ╰─────╯ │ │ │ │ └──────────────┘ 1600 另外想問的就是 有些遊戲會有LOADING的畫面 是怎樣寫的? fun work_1(); //某個會花很久時間的涵式 loading(40); //畫面顯示40%成功 fun work_2(); //某個會花很久時間的涵式 loading(40); //畫面顯示60%成功 fun work_3(); //某個會花很久時間的涵式 loading(20); //畫面顯示100%成功 這樣嗎XD 新手發問,請多指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.84.39 ※ 編輯: kuso0516 來自: 114.32.84.39 (11/21 22:21)
OpenBigJue:你寫的那樣算寫死 不然可以開執行緒來作出動畫效果 11/22 05:44
func:如果是單線程,加載時,程序處於阻塞狀態,載入的東西太大, 11/22 14:40
func:自然就會停頓。 11/22 14:40
func:加載進度條的顯示,基本上就是你寫的那樣。是寫程序的人估算 11/22 14:41
func:的,不能反映真實時間耗費。如果幹的事情單一,實際進度恆速 11/22 14:43
func:的話,倒可以通過取系統若幹參數,用公式計算並顯示進度。 11/22 14:44
func:但也隻是一種估算方式。windows的copy進度對話框就是這樣。 11/22 14:44
func:載入文件時,硬盤磁頭要尋找磁道,內存要找空閒空間,還要完 11/22 14:47
func:成數據的移動,當然慢。硬盤的速度尤其慢,所以很多人把數據 11/22 14:48
func:壓縮打包,減少讀盤時間。利用快速的內存和CPU,解開數據包, 11/22 14:49
func:達到減少時間的目的。因為CPU算高壓縮率的數據也很費時,所以 11/22 14:50
func:打包壓縮的數據不追求做到最小,平衡好各項耗時才是最優的。 11/22 14:51
asoedarren:樓上是對岸的朋友? 11/22 15:54
func:嗯~ 11/22 15:58
kuso0516:恩 多緒真的還不太懂 用單緒偷懶一點好了囧 11/22 21:00
sunneo:如果真的堅持單緒的話,可以試試看用Fiber達到user multask 11/27 22:55
sunneo:壓縮到是個好主意呢~~~~ 11/27 22:56