WebGL与Canvas的显存与内存使用分析
2021/4/27 7:28:22
本文主要是介绍WebGL与Canvas的显存与内存使用分析,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
随笔~ 分析一下两者的内存使用。
按2048为基准,进行相关测试,现在移动设备基本都达到这个分辨率。
<canvas id="canvas" height="2048" width="2048"></canvas>
Canvas模式
如果是纯使用Canvas渲染,不涉及到WebGL,内存占用还是比较好计算的。
假设图片也是512大小,图片占用5125124= 1M。
Canvas宽高是2048,占用2048 * 2048 * 4 = 8MB 。
JavaScript堆栈占用看创建对象的情况而定,这里忽略不计。
最终整体的内存占用为9MB+。
WebGL模式
由于WebGL有中间层,本身的处理程序大小就占用4-10MB。
WebGL内存占用很大一部分是有浏览器决定,一般计算方式:
WebGL有抗锯齿(antialiased)设置,一般是2-16的范围,可以指定但最终还是有浏览器根据环境指定。下方以10为例:
渲染区(8MB * 10) + 副本缓存区(8MB * 10) + 图片(1MB)
Canvas(8MB) + ( GPU渲染区8MB)+ GPU缓存区(8MB * 10) + GPU处理堆栈(4-10MB) + JS堆栈 = 100MB以上。
常规情况下WebGL内存使用率是Canvas是10倍。 能力越大,消耗越大。 其实不需要太关注WebGL对内存的使用,在一般的低端模式下,会根据内存调节缓存区大小~
具体的数据就不贴了~ 自己记录一下~
这篇关于WebGL与Canvas的显存与内存使用分析的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-25【机器学习(二)】分类和回归任务-决策树(Decision Tree,DT)算法-Sentosa_DSML社区版
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享