HeatCanvas performance enhanced

Sat 11 February 2012
  • ANN tags:
  • heatcanvas
  • html5
  • javascript
  • project
  • web published: true comments: true

heatcanvas

时隔半年日日沉浸在clojure世界里的时候,多亏了github上Daniel Azuma的提示,现在HeatCanvas通过Image Data数组来绘制图像。过去由于不太熟悉Canvas API,我用的是fillRect来填充1像素大小的区域,模拟像素的渲染。但是这种方式导致浏览器渲染的效率非常低。

ImageDataArray允许用户开辟一个固定大小的buffer,并设置每一像素的像素值,然后一次性地渲染到canvas上。详情可以参考这里:Pixel manipulation with canvas

这次性能的提升基本没有影响API,唯一的区别是如果原先自定义了value-color的映射函数的话,现在不再接受hsl的css字符串了,新的API需要你返回一个四个元素的数组,分别代表h, s, l, a,值域[0-1]。

感谢关注HeatCanvas的朋友。