Gozar,
 померяй этот вариант )))
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
</head>
<body>
<canvas id="canvas" width="1000" height="520" style="border: 1px solid #000"></canvas>
<script>
function setPixel(x, y) {
    ctx.beginPath();
    ctx.moveTo(x, y);
    ctx.arc(x, y, 1, 0, Math.PI * 2, true);
    ctx.fill();
    ctx.closePath();
}
var canvas = document.getElementById('canvas'),
    ctx = canvas.getContext('2d');
ctx.fillStyle = 'rgba(0,0,0,1)';
function ronyLine(x1, y1, x2, y2) {
    var x = Math.abs(x1 - x2),y = Math.abs(y1 - y2) ;
    var time = Math.sqrt(x*x + y*y)|0, //    больше точек, чем это число на линии нет
        a, b, delta, i;
    var xx = (x2 - x1) + x1, yy = (y2 - y1) + y1 ; //типа кеш
    for (i = 0; i < time; i++) {
        delta = i / time;
        a = delta * xx;
        b = delta * yy;
        setPixel(a, b)
    }
}
for (var i = 0; i < 1000; i += 10) {
    ronyLine(10, 10, i, 500);
}
</script>
</body>
</html>