X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=dygraph-canvas.js;h=450c8a9f396e9535a2849f1af8bf7147a3edd077;hb=13f8b0472ff8e7336bdf56f69ff838a1f3e76162;hp=fd74d5b165e75727e916a5ffa10bef7e02a3d2c9;hpb=239454e203eca702799cbc2cb7891601e2a5c4ee;p=dygraphs.git diff --git a/dygraph-canvas.js b/dygraph-canvas.js index fd74d5b..450c8a9 100644 --- a/dygraph-canvas.js +++ b/dygraph-canvas.js @@ -243,7 +243,6 @@ DygraphCanvasRenderer._predicateThatSkipsEmptyPoints = }; /** - * * @private */ DygraphCanvasRenderer.prototype._drawStyledLine = function( @@ -422,6 +421,12 @@ DygraphCanvasRenderer.prototype._renderLineChart = function() { // TODO(bhs): this loop is a hot-spot for high-point-count charts. These // transformations can be pushed into the canvas via linear transformation // matrices. + // NOTE(danvk): this is trickier than it sounds at first. The transformation + // needs to be done before the .moveTo() and .lineTo() calls, but must be + // undone before the .stroke() call to ensure that the stroke width is + // unaffected. An alternative is to reduce the stroke width in the + // transformed coordinate space, but you can't specify different values for + // each dimension (as you can with .scale()). The speedup here is ~12%. var points = this.layout.points; for (i = points.length; i--;) { var point = points[i];