Re: [請益] 整個遊戲設計結構

看板GameDesign作者 (無想流流星拳)時間11年前 (2012/12/26 23:27), 編輯推噓8(8019)
留言27則, 8人參與, 最新討論串2/3 (看更多)
※ 引述《yoll522 (522)》之銘言: : 我遊戲的主迴圈大概如下 : while(quit!=ture){ 我不懂 SDL. 但我建議你用 timer 回圈, 而不要用 while loop, 因為這東西 代表將你的所有系統機能吸盡. 這會產生兩個壞處: 1. 在不同的電腦上, 效能會不一樣 2. 一 frame 裡的動作沒必要地精細 後者的問題就是, 你一秒到底檢查過多少次輸入, 以及做過多少 次輸出? 我認為你是過多了. 人類來說, 25 fps 已經去到很流 暢的效果, 也就是說, 一秒只需要執行 25 次. 而 60 fps 再上 去就沒有意義了. 從你寫的看, 我懷疑你執行了超過 60 次, 那就是效能上的浪費 . 另外更新顯示(輸入輸出)和遊戲邏輯運作, 應該使用不同的迴 圈. 盡可能將遊戲邏輯和系統邏輯分離, 方便移植. : 當然也有可能是我那些函式的內容設計的不夠好才會造成延遲 @@ : 不好意思麻煩各位高手給點意見,謝謝 -- 戰略遊戲版 SLG (C)lass > 8 戰略高手 > 11 GameTopics > 28 SLG 絕望人民共和國官方網站... http://chinesepeking.wordpress.com/ --

12/26 23:49, , 1F
用while當然也是可以 但必須加個sleep避免 系統資源 被綁架
12/26 23:49, 1F

12/27 00:30, , 2F
請問什麼是timer loop?
12/27 00:30, 2F

12/27 00:30, , 3F
感謝大大的提醒,難怪我之前再用執行緒時如果while
12/27 00:30, 3F

12/27 00:31, , 4F
沒有delay一下,程式一直行瞬間當掉,大概就是因為
12/27 00:31, 4F

12/27 00:31, , 5F
我執行緒的while把所有效能全部吃光了
12/27 00:31, 5F

12/27 00:33, , 6F
另外你說的遊戲邏輯跟系統邏輯我之前也沒想到,感謝你
12/27 00:33, 6F

12/27 00:34, , 7F
等之後有時間的話我想再重寫一次整個遊戲架構,不然好爛
12/27 00:34, 7F

12/27 01:34, , 8F
可參考看看MVC pattern 找些開源的遊戲來看看source code
12/27 01:34, 8F

12/27 03:16, , 9F
25fps是指人眼普遍的最高視覺頻率 在指令鍵簡單的可以
12/27 03:16, 9F

12/27 03:16, , 10F
60fps甚至120fps那種比較是格鬥或動作遊戲比較需要用到
12/27 03:16, 10F

12/27 03:17, , 11F
指令輸入的順暢感會有差異
12/27 03:17, 11F

12/27 07:39, , 12F
瞭解了,感謝你們的幫忙
12/27 07:39, 12F

12/27 09:29, , 13F
就算用delta time去控制速度,也要設一個sleep把fps控制
12/27 09:29, 13F

12/27 09:29, , 14F
在60,畢竟超過60基本上沒什麼意義
12/27 09:29, 14F

12/27 09:43, , 15F
原來如此,我那時候以為既然有delta time的話就不需要限制
12/27 09:43, 15F

12/27 09:44, , 16F
fps了,結果卻造成系統浪費效能,感謝你們的幫忙與提醒
12/27 09:44, 16F

12/27 09:47, , 17F
之前沒限制的時候我fps時cpu跑25,限制fps60後cpu是2
12/27 09:47, 17F

12/27 09:47, , 18F
之前沒限制fps的時候我cpu是25『上一行打錯』
12/27 09:47, 18F

12/27 10:07, , 19F
fps要看遊戲說,對FPS這種類遊戲100fps跟120fps其實還是有
12/27 10:07, 19F

12/27 10:07, , 20F
差別..會影響到一瞬間甩槍的精準度
12/27 10:07, 20F

12/27 10:09, , 21F
我甚至覺得只要能自由調整視角的都要維持60..不過這好像比
12/27 10:09, 21F

12/27 10:10, , 22F
較難辦到 如果視角固定,又沒有太多瞬間的動作 30fps還ok
12/27 10:10, 22F

12/27 10:18, , 23F
視角會動的低於45我就分得出來
12/27 10:18, 23F

12/27 10:18, , 24F
高於60一般沒意義,因為顯示器通常是60Hz
12/27 10:18, 24F

12/27 10:20, , 25F
給樓上,我以前也是這樣覺得,現在似乎不只了..
12/27 10:20, 25F

12/27 21:32, , 26F
玩第一人稱射擊 FPS 30跟60就很明顯
12/27 21:32, 26F
實話說, 我一向都是用 10 fps. ※ 編輯: chenglap 來自: 61.18.51.146 (12/27 21:34)

12/28 00:47, , 27F
開 vsync 就會自己鎖 fps 了,省效能又可以消除 tearing
12/28 00:47, 27F
文章代碼(AID): #1GsnTTRx (GameDesign)
文章代碼(AID): #1GsnTTRx (GameDesign)