我在浏览器中使用canvas.getContext('2d');
绘制了一些多边形(不超过10个),并且在iOS上的性能非常糟糕。 (多边形只会改变颜色)
我的绘图功能非常简单:
function drawTriangle(triangle) {
ctx.fillStyle = 'rgb(' + triangle.color[0] + ',' + triangle.color[1] + ',' + triangle.color[2] + ')';
ctx.beginPath();
ctx.moveTo(triangle.a.x, triangle.a.y );
ctx.lineTo(triangle.b.x, triangle.b.y );
ctx.lineTo(triangle.c.x, triangle.c.y );
ctx.lineTo(triangle.a.x, triangle.a.y );
ctx.closePath();
ctx.fill();
}
我已经分析了我的应用程序,并且100%确定我的画布中的绘图会导致减速(没有它我有稳定的60fps,并且根据画布大小,它会降低到15-30fps)。 / p>
我正在使用requestAnimationFrame
。
我是否需要使用.getContext('webgl')
来获得更好的效果?