Javascript 是否有可能创建数百张p5画布?
我正在做一个神经进化蛇游戏。我想在屏幕上显示所有当代人。然而,这确实让事情变慢了。下面是创建画布的代码Javascript 是否有可能创建数百张p5画布?,javascript,p5.js,Javascript,P5.js,我正在做一个神经进化蛇游戏。我想在屏幕上显示所有当代人。然而,这确实让事情变慢了。下面是创建画布的代码 play_game() { let game = this; new p5(p => { p.setup = function() { p.createCanvas(game.width, game.width); p.strokeWeight(1); tf.setBackend('
play_game() {
let game = this;
new p5(p => {
p.setup = function() {
p.createCanvas(game.width, game.width);
p.strokeWeight(1);
tf.setBackend('cpu');
p.frameRate(game.frameRate);
}
p.draw = function() {
p.background("#ddd");
game.snake.display(game.unit, p);
game.snack.display(game.unit, p);
let inputs = game.vision();
game.snake.think(inputs);
let dead = game.check_conditions();
if(dead) {
game.snake.brain.dispose();
game.snake = new Snake([5,5], "#000");
}
};
});
}
下面是调用它的代码:
game_array = [];
for(let i = 0; i < 500; i++) {
game_array.push(new Game(100, 20, 10));
}
for(let i = 0; i < 500; i++) {
game_array[i].play_game();
}
game_数组=[];
for(设i=0;i<500;i++){
游戏_数组。推送(新游戏(100,20,10));
}
for(设i=0;i<500;i++){
game_数组[i]。play_game();
}
有没有更好的方法可以做到这一点,或者甚至有可能做到这一点?有可能创建数百张p5画布。关键是在实例模式下运行p5。下面是创建400张画布的代码
让草图=函数(p){
p、 设置=功能(){
p、 createCanvas(50,50);
p、 背景(p.random(255)、p.random(255)、p.random(255));
p、 中风(p.random(255)、p.random(255)、p.random(255));
};
p、 draw=函数(){
p、 点(p.random(p.width),p.random(p.height));
};
};
for(设i=0;i<400;i++){
新p5(草图);
}
可以创建数百张p5画布。关键是在实例模式下运行p5。下面是创建400张画布的代码
让草图=函数(p){
p、 设置=功能(){
p、 createCanvas(50,50);
p、 背景(p.random(255)、p.random(255)、p.random(255));
p、 中风(p.random(255)、p.random(255)、p.random(255));
};
p、 draw=函数(){
p、 点(p.random(p.width),p.random(p.height));
};
};
for(设i=0;i<400;i++){
新p5(草图);
}
可能吗?当然会很慢吗?可能这能做得更快吗?大概我敢说,在一个页面上有数百张画布在某种程度上超出了正常使用范围。也许你可以深入研究并手动优化它。但这似乎是一项相当复杂的任务,我不希望很容易就得到一个现成的解决方案来解决这种标签外的堆栈溢出问题……有可能吗?当然会很慢吗?可能这能做得更快吗?大概我敢说,在一个页面上有数百张画布在某种程度上超出了正常使用范围。也许你可以深入研究并手动优化它。但这似乎是一项相当复杂的任务,我不希望很容易就得到这种标签外使用堆栈溢出的现成解决方案…