web有没有可能用webgl实现同一套的方案,用webgl实现清渲染层,实现一套dom和css的子集,达到高性能的dom的目的?
个人的观点是,在实现层面是可行的,性能的提升与否需要有测试数据的考证。
先来看一下涉及到的两项关键技术:虚拟dom和webgl加速。
回到开始的问题,首先以webgl实现虚拟dom来达到html和css的子集理论上是可行的。
在现有的技术框架下,实现一个虚拟dom的可行方案(暂不考虑性能问题):创建three.js对象替代dom对象,所有对象缓存在内存中,不需要真正挂载到dom上,使用raycaster来控制对象的捕获与交互,该框架只需要在有浏览器环境支持即可运行。当然在dom设计的时候也要考虑一定的降级方案,比如three.js除了webgl渲染器外同时也实现了canvas渲染器。如果把性能的问题也一并考虑进来,从理论上来说,应用webgl,对于需要频繁挂载、卸载dom对象的应用或者大量dom搜索计算的应用,会有一定提升。不过由于不同的浏览器对于dom对象都有一定的优化,如果使用虚拟dom替代原来的静态dom方案的话有很大可能无法享受部分此类特性,具体性能提升情况需要在开发完成后,经过测试才能有一个定论。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。