簡體   English   中英

提高“生命游戲”娛樂的計算效率

[英]Increasing computational efficiency of Game of Life recreation

我用JavaScript重新創建了《人生游戲》。 它有效,但是在計算上無效。 我具有此功能可以在幾代人之間等待。

var speed = 500; //milliseconds

function live() { 
    middleMan = setInterval(processGeneration, speed);
    if (!dead) {
         window.clearInterval(middleMan);
         live();
    }
}

500毫秒沒有任何反應,然后是計算任務的海嘯。 具有諷刺意味的是死區時間和滯后時間的組合。 如何使用500毫秒?

您可以使用

function live() { 
    processGeneration();
    if (!dead) {
         setTimeout(live, speed);
    }
}
live();

要么

function live() { 
    processGeneration();
    if (dead) {
         clearInterval(timer);
    }
}
var timer = setInterval(live, speed);

要么

function live() {
    processGeneration();
    if (!dead) {
         requestAnimationFrame(live);
    }
}
requestAnimationFrame(live);

但是請注意,如果使用setInterval ,則每個live調用所花費的時間必須少於speed

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM