[程式] 點陣圖和記憶體

看板GameDesign (遊戲設計)作者 (隱)時間16年前 (2008/11/21 22:17), 編輯推噓1(1016)
留言17則, 5人參與, 最新討論串1/2 (看更多)
我有個程式要載入差不多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)

11/22 05:44, , 1F
你寫的那樣算寫死 不然可以開執行緒來作出動畫效果
11/22 05:44, 1F

11/22 14:40, , 2F
如果是單線程,加載時,程序處於阻塞狀態,載入的東西太大,
11/22 14:40, 2F

11/22 14:40, , 3F
自然就會停頓。
11/22 14:40, 3F

11/22 14:41, , 4F
加載進度條的顯示,基本上就是你寫的那樣。是寫程序的人估算
11/22 14:41, 4F

11/22 14:43, , 5F
的,不能反映真實時間耗費。如果幹的事情單一,實際進度恆速
11/22 14:43, 5F

11/22 14:44, , 6F
的話,倒可以通過取系統若幹參數,用公式計算並顯示進度。
11/22 14:44, 6F

11/22 14:44, , 7F
但也隻是一種估算方式。windows的copy進度對話框就是這樣。
11/22 14:44, 7F

11/22 14:47, , 8F
載入文件時,硬盤磁頭要尋找磁道,內存要找空閒空間,還要完
11/22 14:47, 8F

11/22 14:48, , 9F
成數據的移動,當然慢。硬盤的速度尤其慢,所以很多人把數據
11/22 14:48, 9F

11/22 14:49, , 10F
壓縮打包,減少讀盤時間。利用快速的內存和CPU,解開數據包,
11/22 14:49, 10F

11/22 14:50, , 11F
達到減少時間的目的。因為CPU算高壓縮率的數據也很費時,所以
11/22 14:50, 11F

11/22 14:51, , 12F
打包壓縮的數據不追求做到最小,平衡好各項耗時才是最優的。
11/22 14:51, 12F

11/22 15:54, , 13F
樓上是對岸的朋友?
11/22 15:54, 13F

11/22 15:58, , 14F
嗯~
11/22 15:58, 14F

11/22 21:00, , 15F
恩 多緒真的還不太懂 用單緒偷懶一點好了囧
11/22 21:00, 15F

11/27 22:55, , 16F
如果真的堅持單緒的話,可以試試看用Fiber達到user multask
11/27 22:55, 16F

11/27 22:56, , 17F
壓縮到是個好主意呢~~~~
11/27 22:56, 17F
文章代碼(AID): #199iCKqt (GameDesign)
討論串 (同標題文章)
文章代碼(AID): #199iCKqt (GameDesign)