国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

使用MIDP2.0開發游戲(7)設計Scheduler

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

  Scheduler負責以固定的頻率執行每一幀,所需的時鐘由Clock提供,Scheduler還可以計算每幀所需時間和CPU占用率,以便可能的話動態調整任務。

以下的Scheduler的實現參考自Marshall "Game PRogramming Gems 3"中的C++代碼:

package game.engine.core;

public class Scheduler {

    // clock:
    private Clock clock = new Clock();
    
    // 啟動Scheduler:
    public void start() {
        clock.start();
    }

    // 停止Scheduler:
    public void stop() {
        clock.stop();
    }

    public int getSystemTime() {
        return clock.getSystemTime();
    }

    public int getVirtualTime() {
        return clock.getVirtualTime();
    }

    // 執行完整的一幀:
    public void executeFrame() {
        System.out.println("-- start execute frame --");
        clock.beginFrame();
        int started = clock.getSystemTime();
        // do time task:
        System.out.println("doing time tasks...");
        try {
            Thread.sleep(500);
        }catch(InterruptedException ie) {}
        clock.advanceToEnd();
        // do frame task:
        System.out.println("doing frame tasks...");
        try {
            Thread.sleep(200);
        }catch(InterruptedException ie) {}
        // do render task:
        int end = clock.getSystemTime();
        int elapsed = end - started;
        int frameLength = clock.getFrameEnd() - clock.getFrameStart();
        System.out.println("elapsed: " + elapsed + ", frame: " + frameLength);
        System.out.println("cpu usage: " + (elapsed * 100 / frameLength) + "%");
        // cleanup:
        System.out.println("-- end execute frame --/n");
    }



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 类乌齐县| 贡嘎县| 呈贡县| 和林格尔县| 喜德县| 台东市| 北宁市| 嘉善县| 方正县| 奉节县| 许昌市| 万荣县| 茂名市| 营口市| 西峡县| 三门峡市| 辽宁省| 罗田县| 盈江县| 新昌县| 阜康市| 仪征市| 襄汾县| 庆元县| 大兴区| 丹巴县| 新民市| 宿州市| 高邑县| 盐边县| 墨江| 渝北区| 黄梅县| 肃南| 新安县| 嵩明县| 公主岭市| 龙口市| 南华县| 健康| 固安县|