slight optimizations

This commit is contained in:
biglyderv 2025-05-16 21:44:56 -04:00
parent 0fb19d45ad
commit 66d0642006
Signed by: biglyderv
GPG key ID: 0E2EB0B4CD7397B5
5 changed files with 77 additions and 71 deletions

View file

@ -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);