我有一个高度依赖HTML5 canvas
的HTML / JavaScript SPA。
SPA在屏幕上显示实时图形滚动,在标准PC上接近60 FPS时非常平滑。
核心循环基本上是将绘图绘制到画布上。我发现,通过向左和向左重画1个像素来滚动绘图非常昂贵。因此,我通过使用
将整个画布向左平移1个像素来利用GPU硬件加速// shift canvas on the left by 1 pixel
myCanvasCtx.drawImage(myCanvas, -1, 0);
然后通过JavaScript仅绘制像素的最后一列
这在支持GPU加速的浏览器上完美运行。现在,我想通过查看显示GPU功能列表的chrome://gpu
页面来判断滚动效果是否实际上是硬件加速的:
每个浏览器的列表差异很大。我应该寻找什么来验证滚动效果实际上是硬件加速的? (考虑到我正在使用的drawImage()函数)。我的第一个猜测是“画布”和“栅格化”,但我不知道两者是否都必须可用,或者仅仅是其中之一,还有其他