我需要从html5 canvas读取原始像素数据到nodejs环境中。因此,我以无头模式启动html页面,并以30fps的速度读取数据,如下所示:
setInterval(async ()=>{
const d = await page.evaluate(() => {
return document.querySelector('#canvas').getContext('2d').getImageData(0,0,1280,720).data
});
},1000/30)
该块非常慢,即使1fps也太高了!实际上,在这种情况下,通过websocket或AJAX发送数据的速度大约快10倍。知道我做错了什么吗?