我正在使用 KineticJS,我想使用许多小图层来获得密集绘图的性能,但我发现(使用萤火虫)设置单个图层大小只是不调整它们各自的画布大小:所有创建的画布都有舞台方面!
小舞台(至少没有太多层)这不是问题,但是如果舞台很大,接近一百层,不会有性能问题吗?
换句话说,这是一个想要的功能还是一个错误?
这是一个简单的测试代码:
var stage = new Kinetic.Stage({
container: 'main',
width: 400,
height: 400,
});
for (var i=0; i<5; i++) {
var layer = new Kinetic.Layer({
x:i*30+10,
y:i*30+10,
width:20,
height:20,
});
layer.add( new Kinetic.Rect({
width: 20,
height: 20,
fill: 'red',
}));
stage.add(layer);
// trying to force layer dimensions
layer.setWidth(20);
layer.setHeight(20);
}
stage.draw();
在这里,我在查看 DOM 时看到的内容:
<div id="main">
<div style="position: relative; display: inline-block; width: 400px; height: 400px;" class="kineticjs-content">
<canvas width="400" style="width: 400px; height: 400px; position: absolute;" height="400"></canvas>
<canvas width="400" style="width: 400px; height: 400px; position: absolute;" height="400"></canvas>
<canvas width="400" style="width: 400px; height: 400px; position: absolute;" height="400"></canvas>
<canvas width="400" style="width: 400px; height: 400px; position: absolute;" height="400"></canvas>
<canvas width="400" style="width: 400px; height: 400px; position: absolute;" height="400"></canvas>
</div>
</div>