slight optimizations
This commit is contained in:
parent
0fb19d45ad
commit
66d0642006
5 changed files with 77 additions and 71 deletions
60
js/core.js
60
js/core.js
|
@ -108,39 +108,36 @@ Canvas.prototype.render = function () {
|
|||
let imgData = this.ctx.getImageData(0, 0, this.width, this.height);
|
||||
let pixels = imgData.data;
|
||||
|
||||
let int = Math.ceil(this.width * this.height / 8);
|
||||
for (let j = 0; j < 8; j++) {
|
||||
let that = this;
|
||||
(async function () {
|
||||
for (let i = j * int; i < (j + 1) * int; i++) {
|
||||
if (i > that.width * that.height) break;
|
||||
let x = Math.floor(i / that.height);
|
||||
let y = i % that.height;
|
||||
let int = (this.width * this.height)
|
||||
let that = this;
|
||||
for (let i = 0; i < int; i++) {
|
||||
let x = Math.floor(i / that.height);
|
||||
let y = i % that.height;
|
||||
|
||||
let i2 = x + y * that.width;
|
||||
let i2 = x + y * that.width;
|
||||
|
||||
let block = mainTiles.tiles[that.blocks[i]];
|
||||
let block = mainTiles.tiles[that.blocks[i]];
|
||||
|
||||
let temp = that.temp[i];
|
||||
let temp = that.temp[i];
|
||||
|
||||
if (block.color[0] != -1) {
|
||||
if (block.color[0] != -1) {
|
||||
|
||||
let val = (temp + 310) / 310;
|
||||
if (val < -2.861) val = -2.861;
|
||||
let val = (temp + 310) / 310;
|
||||
if (val < -2.861) val = -2.861;
|
||||
|
||||
pixels[i2 * 4] = (block.color[0] - temp / 1e28) * val;
|
||||
pixels[i2 * 4 + 1] = (block.color[1] - temp / 1e28) * (val * 0.259 + 0.741);
|
||||
pixels[i2 * 4 + 2] = (block.color[2] - temp / 1e28) * (val * 0.023 + 0.977);
|
||||
pixels[i2 * 4 + 3] = block.color[3] * 255 + Math.abs(val - 1) * 100 || 255;
|
||||
} else {
|
||||
let lg = Math.log(temp);
|
||||
pixels[i2 * 4] = ((handler.ticks * 69) % (lg * 0.6969)) * 255 / (lg * 0.6969);
|
||||
pixels[i2 * 4 + 1] = ((handler.ticks * 69) % (lg * 0.420420)) * 255 / (lg * 0.420420);
|
||||
pixels[i2 * 4 + 2] = ((handler.ticks * 69) % (lg * 0.13371337)) * 255 / (lg * 0.13371337);
|
||||
pixels[i2 * 4 + 3] = 255;
|
||||
}
|
||||
}
|
||||
})()
|
||||
let td = temp / 1e28;
|
||||
|
||||
pixels[i2 * 4] = (block.color[0] - td) * val;
|
||||
pixels[i2 * 4 + 1] = (block.color[1] - td) * (val * 0.259 + 0.741);
|
||||
pixels[i2 * 4 + 2] = (block.color[2] - td) * (val * 0.023 + 0.977);
|
||||
pixels[i2 * 4 + 3] = block.color[3] * 255 + Math.abs(val - 1) * 100 || 255;
|
||||
} else {
|
||||
let lg = Math.log(temp);
|
||||
pixels[i2 * 4] = ((handler.ticks * 69) % (lg * 0.6969)) * 255 / (lg * 0.6969);
|
||||
pixels[i2 * 4 + 1] = ((handler.ticks * 69) % (lg * 0.420420)) * 255 / (lg * 0.420420);
|
||||
pixels[i2 * 4 + 2] = ((handler.ticks * 69) % (lg * 0.13371337)) * 255 / (lg * 0.13371337);
|
||||
pixels[i2 * 4 + 3] = 255;
|
||||
}
|
||||
}
|
||||
|
||||
/* TODO: clean up */
|
||||
|
@ -235,13 +232,8 @@ var canvas = new Canvas(Math.floor(window.innerWidth / 4.5), Math.floor(window.i
|
|||
var handler = new TickHandler(canvas);
|
||||
|
||||
setInterval(() => {
|
||||
if (canvas.clicked) canvas.click()
|
||||
canvas.render();
|
||||
if (canvas.stopNow) return;
|
||||
handler.tick();
|
||||
}, 1000 / 60);
|
||||
|
||||
|
||||
setInterval(() => {
|
||||
if (canvas.stopNow) return;
|
||||
if (canvas.clicked) canvas.click();
|
||||
this.canvas.render();
|
||||
}, 1000 / 60);
|
Loading…
Add table
Add a link
Reference in a new issue