我开发的应用程序需要通过webSocket连接以每秒至少30帧的速度不断传输图像。
我遇到了一些性能问题,我正在寻求优化我能做的最好的事情。
我想知道使用不断更新的图像之间的性能差异(例如select s.FINAL_BSAL
,s.EMP_No
,p.ERN_DDCT_CATNO
,p.AMOUNT
,n.NO_PAY_AMOUNT
,p.Pay_month
,a.ARREARS_AMOUNT
from salary_details s inner join pay_details p on s.emp_no = p.emp_no
inner join Arrears a on to_char(P.PAY_MONTH,'MM-YYYY')= to_char(a.ARREARS_MONTH,'MM-YYYY')
left outer join No_Pay n on to_char(P.PAY_MONTH,'MM-YYYY') = to_char(n.NO_PAY_MONTH,'MM-YYYY')
where s.SAL_NO IN (SELECT MAX(SAL_NO) FROM SALARY_DETAILS group by EMP_NO);
vs将图像绘制到画布(<img src="someDynamicallyUpdatingBase64Image" />
)
要添加一些上下文,发送到客户端的图像将由位于服务器端的摄像头拍摄(考虑IP摄像机设置)。我们一次只能为一个单独的图像轮询相机,但这个过程可以非常快速地完成。问题是客户端必须接收字节缓冲区,将字节编码为base64字符串(我们目前正在使用canvs.drawImage(someDynamicallyUpdatingImage, 0, 0, 640, 480)
方法),并让dom重绘图像。这个过程相当冗长,造成了相当大的延迟。