亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

使用MIDP2.0開發游戲(5)游戲內核

2019-11-17 06:27:28
字體:
來源:轉載
供稿:網友

  我們預備開始設計游戲內核。

通常,游戲和桌面Windows程序不同(掃雷等桌面游戲除外),它不能依靠消息驅動,因為游戲通常只有一個畫面,而且需要高速更新。因此,游戲只能靠時鐘驅動。大部分游戲都在一個時鐘驅動下定時渲染一幀畫面。此外,游戲需要接收用戶輸入,處理游戲事件(比如碰撞檢測等),可能還需要AI計算,這些任務都必須巧妙地在兩幅畫面切換的時間段里處理完畢,因此,一個高效而靈活的調度器就是游戲進程的核心。

調度器由時鐘驅動器和任務治理器組成。

時鐘驅動器負責在需要的時候向調度器提供準確的虛擬時間,虛擬時間流逝時,游戲就運行,虛擬時間停止時,游戲就暫停,虛擬時間還可以比真實時間慢或者快,以便調節游戲運行速度,所有的任務都依靠虛擬時間,并且它們不知道時鐘是否暫停,這樣就大大簡化了時間的表示和運算,我們可以隨時暫停時鐘從而能夠方便地調試。

任務治理器維護一個任務列表,并且知道下一個即將運行的任務是什么。一共有3種任務:

  • 渲染任務:在游戲運行期間,負責更新畫面,在每一幀的結束時間點執行。
  • 幀任務:在每個幀時間段內執行一次的任務,比如繪制背景。
  • 時間任務:在指定的時間點和時間段觸發,執行一次或多次,完成后即被刪除。

調度器的作用便是把時鐘提供的虛擬時間按固定時間段(比如20ms)分成若干幀,在一個幀的時間段里,依次調度所有的幀任務和定時任務,最后執行渲染任務,從而完成一個完整的幀。

我們為什么不用多線程來執行這些任務,把調度功能交給操作系統呢?第一,通常游戲中會有很多個任務,為每個任務創建線程是不經濟而且低效的,很多任務只執行一次,大量開銷被花在線程的創建和銷毀上,而且我們很難控制多線程同步。第二,由于操作系統通常是搶先式多任務,我們無法得知一個任務是否會被另一個任務中斷或者能否在一幀內完成。

調度器就像是在模擬一個線程治理器,它必須非常靈活,首先,調度器依次執行隊列中的任務,可以精確計算每個任務花費的時間。假如用戶硬件配置不高,執行一個完整的幀花費的時間多于預算,則可以在下一個幀里跳過不必要的任務(比如關閉特效,特效任務就是可以跳過的),假如執行一個完整的幀花費的時間小于預算,則可以多執行一些任務,比如多畫一些特效或多做一些AI運算等,這些都由調度器自動調節。

調度器的另一個功能是實現平滑地添加和刪除任務,通常游戲中的任務更新都很頻繁。假如使用多線程,則線程的創建和銷毀將耗費大量時間。

調度器執行一幀的流程如下:

  • 從時鐘驅動器獲得虛擬時間;
  • 執行時間任務;
  • 執行幀任務;
  • 執行渲染任務;
  • 從時鐘驅動器獲得虛擬時間并計算這一幀的執行時間;
  • 執行清理任務,包括從任務治理器中刪除過期任務。

由于只需要用到很少的API,我決定用J2SE來寫內核,這樣便于調試,等測試無誤再移植到MIDP上。

參考:Marshall:"Game PRogramming Gems 3"

待續 :)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲视频999| 国产欧美一区二区三区在线| 亚洲美女免费精品视频在线观看| 国产福利精品在线| 69av视频在线播放| 欧美极品美女视频网站在线观看免费| 欧美电影在线播放| 国产精品成人久久久久| 亚洲精品国产精品乱码不99按摩| 91精品久久久久久久| 97在线看福利| 在线视频国产日韩| 成人看片人aa| 日本欧美精品在线| 国产一区二区三区在线免费观看| 亚洲色图第三页| 国产日韩在线看片| 国产视频精品一区二区三区| 欧美久久精品午夜青青大伊人| 成人激情综合网| 国产精品久久久久久久久男| 国产精品一区二区三区毛片淫片| 日韩av在线一区二区| 日韩亚洲欧美中文高清在线| 亚洲一区二区久久久久久久| 中文字幕在线观看日韩| 国产91成人video| 国产精品一区二区三区久久| 国产在线视频欧美| 国产在线98福利播放视频| 久久久久久网站| 国产一区二区激情| 欧美激情综合亚洲一二区| 日韩电影中文字幕在线| 国产主播喷水一区二区| 欧美精品免费在线观看| 久久中国妇女中文字幕| 日本免费久久高清视频| 亚洲女人天堂视频| 欧美劲爆第一页| 91精品国产综合久久香蕉922| 国产亚洲精品一区二区| 亚洲成年人在线| 久久五月天色综合| 久久久精品久久久| 成人av番号网| 亚洲精品福利免费在线观看| 久久精品美女视频网站| 91av在线国产| 亚洲国产欧美一区| 亚洲一区二区三区乱码aⅴ蜜桃女| 精品久久久久久久大神国产| 久久久久免费精品国产| 日韩av一区在线观看| 精品在线欧美视频| 久久成人这里只有精品| 日韩av在线免费观看一区| 亚洲97在线观看| 国产精品1区2区在线观看| 日韩精品福利网站| 日韩欧美在线看| 亚洲专区国产精品| 黄网站色欧美视频| 国产欧美日韩中文字幕在线| 国产成人免费91av在线| 欧美激情久久久| 欧美高清激情视频| 97国产在线观看| 亚洲欧美日韩另类| 久久久久久久久久久91| xvideos成人免费中文版| 97色伦亚洲国产| 伊人男人综合视频网| 国产精品三级在线| 亚洲国产精品999| 亚洲欧洲一区二区三区在线观看| 91精品国产综合久久香蕉的用户体验| 亚洲人精品午夜在线观看| 欧美成人精品一区二区三区| 亚洲高清av在线| 一本色道久久88综合亚洲精品ⅰ| 亚洲欧美国产另类| 欧美乱大交做爰xxxⅹ性3| 久久综合伊人77777尤物| 国产精品jizz在线观看麻豆| 国产成人+综合亚洲+天堂| 国产999在线观看| 久久视频免费观看| 欧美国产日产韩国视频| 欧美裸体xxxx| 国产欧美日韩中文| 久久精品国产精品| 欧美日韩亚洲一区二区三区| 亚洲v日韩v综合v精品v| 91免费在线视频| 日韩精品福利网站| 亚洲精品成人免费| 91在线观看免费观看| 亚洲色在线视频| 亚洲精品网址在线观看| 国产亚洲精品久久久久动| 中文字幕精品在线视频| 久久国产精品久久国产精品| 97在线视频一区| 精品久久香蕉国产线看观看亚洲| 日韩精品亚洲视频| 欧美在线一级va免费观看| 欧美日韩精品在线视频| 国产噜噜噜噜久久久久久久久| 久久99久久久久久久噜噜| 91精品国产综合久久香蕉922| 亚洲欧美激情另类校园| 国产成人精品免高潮费视频| 国产精品美女在线| 精品激情国产视频| 91av视频在线播放| 国产欧美va欧美va香蕉在线| 国产极品jizzhd欧美| 国产在线观看91精品一区| 久久精品视频播放| 国产精品va在线| 黄色成人在线播放| 久久亚洲精品国产亚洲老地址| 亚洲成年网站在线观看| 亚洲视频777| 亚洲自拍偷拍在线| 中文字幕欧美在线| 国产成人精品免高潮在线观看| 亚洲天堂男人天堂女人天堂| 久久免费成人精品视频| 91精品国产91久久久久久| 欧美激情2020午夜免费观看| 久久久影视精品| 97色在线视频观看| 国产69精品久久久| 777777777亚洲妇女| 亚洲男人天堂视频| 欧美视频不卡中文| 日韩免费视频在线观看| 国产亚洲欧美另类中文| 欧美一级大片在线免费观看| 久久久久国产视频| 久久精品这里热有精品| 亚洲人精选亚洲人成在线| 国产在线观看精品一区二区三区| 欧美日韩激情小视频| 国产欧美日韩专区发布| 成人乱人伦精品视频在线观看| 亚洲国产91精品在线观看| 成人日韩在线电影| 欧美福利视频在线| 国产成人综合亚洲| 久久久免费电影| 亚洲国产成人久久| 日韩电影中文字幕在线观看| 91精品久久久久久久久久另类| 欧美日韩中文在线观看| 久久99久久亚洲国产| 国产精品女主播视频| 26uuu亚洲国产精品| www.欧美精品一二三区| 欧美日韩人人澡狠狠躁视频| 日韩中文字幕免费视频| 欧美日韩精品在线|