web实时长图实践( 四 )


2.mpc格式
mpc是提供的一种持久高速缓存格式,减少对图像格式进行解码和编码像素的开销 。
mpc生成两个文件:
1)一个扩展名.mpc保留了与图像或图像序列相关的所有属性(例如宽度,高度,色彩空间等) 。
2)一个扩展名.cache,是本地原始格式的像素缓存 。
读取mpc图像文件时,读取图像属性,并将内存映射到磁盘上的像素缓存,无需解码图像像素,不过mpc的文件大小比其他图像格式大 。
mpc图像文件适用于一次写入,多次读取模式,使用mpc将图像直接映射到内存,而不是每次重新读取和解压源图像 。
3.Q8版本
Q16版本允许在不缩放的情况下读写16位图像,但像素缓存消耗的资源是Q8版本的两倍,Q8版本的执行速度通常比Q16版本要快 。
像素缓存消耗 = 宽度*高度*位深度/ 8 *通道Q8位深 = 8 Q16位深 = 16通道 = 红 + 绿 + 蓝 + 阿尔法强度
更详细的性能优化信息可在 查看 。
总结
web端实现实时图片生成采坑挺多,目前的方案还有些性能瓶颈,持续优化中 。换个思路,如果传递页面URL,由客户端渲染页面,实现截图,或许是更优的方案,目前还没尝试,值得一试…