刚才无意间按下了Shift+Esc,打开了Chrome内存管理,然后看见了GPU Process,占领近200M内存!
接下来就顺其自然了:
1、结束GPU进程,英来网正式版的3D交互动画消失,回到2D效果。
2、关闭浏览器重开,打开常规网站,GPU进程未启动,打开英来网正式版,GPU进程自动启动,3D交互动画呈现。
结论一:3D Transform和GPU功能是绑定的,或者说当页面定义了3D Transform,GPU进程就被触发。
3、关闭浏览器重开,用Chrome打开IE9的SVG或Canvas测试页面,GPU进程并未被触发启动。
结论二:目前Chrome GPU并不加速SVG或Canvas。
结合起来,就是本文标题。当然我相信Chrome GPU肯定会支持SVG或Canvas,但是对比微软,Google选择的是首先加速CSS3。Google脑袋和我一样清晰啊,SVG和Canvas相比CSS3,离广泛实用还差得远,我认为不是技术成熟度问题,而是如果现在就把SVG和Canvas引入前端,那将是一场革命,对整个团队前后协同流程都将带来巨大转变,更别说人才稀缺的问题。而CSS3不一样,是无缝的过渡,而且非常简单,在协同上带来的转变也是一种水到渠成的渐进改良。
比如前段时间英来网前端在交互动画设计上的纠结与挣扎,成果是我体会到,在未来肯定会有这么一个全新接口设计:前端开发工程师和动画设计师之间的接口设计。这是在前端新的分离和握手,而曾经斩不断理还乱的到底动画应该放在哪里实现,现在我觉得这个问题已经灰飞烟灭了,当然从我个人的思考,主要原因还不是因为GPU加速,而是因为开发工程师和动画设计师职位就是分离的,而且动画设计更偏向更依赖于平面设计,而且设计一个好动画非常复杂非常繁琐不但要精确控制像素还有时间和节奏,还要涉及到音频处理,所以过去一直以来Web上混编的交互动画,随着CSS3的出现,将变成交互+接口+动画。不过GPU的出现算是没争论余地的定海神针吧。哈哈,说起来我就在想,以后招个CSS3动画设计师……可是,有么?
从这点上看,IE9 至今尚未支持Transform和Transition,却又完美支持SVG和Canvas,唉,微软又错了。这丫一站起来,就想飞了,可是开发者们设计师们连跑都还没学会呢,甚至很多走路都摇摇摆摆。Google和我,那个,一样的高明^o^
Chrome GPU的效果还是很不错,把我们的复杂结构和复杂环境下的复杂效果处理得非常流畅,甚至3D效果比过去的2D效果还流畅,真的不是忽悠的装饰品,是发挥了作用的。不过目前Bug还比较多,最严重的是导致position:fixed定位的部分闪烁甚至完全消失,还有几个奇葩现象,都是在GPU启动后出现的。应该是GPU的渲染Bug问题,不会要我去对GPU做兼容设计吧,这怎么玩~~~
最后一个是关于Chrome GPU进程的恐怖内存消耗问题,不过特殊情况,我估计和我们自身设计问题有关。
嗯,英来网正式版离发布上线还有段时间,有兴趣可以去webkit官方3D动画演示地址:http://webkit.org/blog-files/3d-transforms/morphing-cubes.html
本文转自爆牙齿博客园博客,原文链接:http://www.cnblogs.com/yuntian/archive/2010/09/10/1822903.html,如需转载请自行联系原作者