小编Bir*_*son的帖子

在浏览器中显示 400 万个 2D 方块的最有效方法是什么?

我的显示器的分辨率为 7680x4320 像素。我想显示多达 400 万个不同颜色的方块。我想用滑块更改正方形的数量。如果目前有两个版本。一个带有 canvas-fillRect 的看起来像这样:

var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

for (var i = 0; i < num_squares; i ++) {

   ctx.fillStyle = someColor;
   ctx.fillRect(pos_x, pos_y, pos_x + square_width, pos_y + square_height);

   // set pos_x and pos_y for next square
}
Run Code Online (Sandbox Code Playgroud)

还有一个使用 webGL 和three.js。相同的循环,但我为每个正方形创建了一个盒子几何图形和一个网格:

var geometry = new THREE.BoxGeometry( width_height, width_height, 0);

for (var i = 0; i < num_squares; i ++) {

   var material = new THREE.MeshLambertMaterial( { color: Math.random() * 0xffffff } ); …
Run Code Online (Sandbox Code Playgroud)

html javascript canvas webgl three.js

5
推荐指数
1
解决办法
2031
查看次数

标签 统计

canvas ×1

html ×1

javascript ×1

three.js ×1

webgl ×1