8月25日下午,CSDN TUP第十三期“架构师沙龙快时代之客户端优化”在北京丽亭华苑酒店举行。暴风影音播放研发总监黄森堂、搜狗研发总监李子拓和鲜果CEO梁公军担任本次活动讲师,分别从PC和Moblie两个方面分享了客户端性能优化的实战经验。
合理的架构设计,对客户端后期优化至关重要
暴风影音播放器一直因为“慢”,而引发用户诸多抱怨。新发布的暴风影音5在启动速度上较暴风影音3提升了3倍。暴风影音播放研发总监黄森堂以暴风影音5的研发为案例,分享了暴风影音在实现“快”客户端过程中的实战经验。
暴风影音播放研发总监黄森堂
黄森堂表示一款软件往往在发布之初速度很快,但随着后期业务模块的增加,速度会越来越慢。究其原因,是不合理的架构设计限制了后期的优化处理。当时暴风影音3就面临这样的问题。“对架构进行重构:将原有复杂架构下各个模块的复杂关联去掉,保证每个模块的职责单一。”是暴风影音提速所采取的主要措施之一。
皮肤引擎的好坏,决定了客户端的启动速度。优化皮肤引擎,也是本次暴风影音提速任务中的重中之重。黄森堂表示,对于皮肤引擎的优化不外乎四步,即读取优化、加载优化、代码优化及显示优化。在实现读取优化中,暴风影音采用自定义文件存储格式,减少文件读取次数,从而加速读取速度,同时还自定义了压缩格式,以减少文件I/O的读取。对于显示优化,黄森堂认为显示优化的目标是让图片更快速地显示出来,开发者应该抛弃传统图片的显示方法,努力挖掘CPU的潜力,“抛弃传统窗口刷新技术,采用革新的窗口主动刷新技术”是暴风影音5采取的优化措施。
搜狗研发总监李子拓
如何把客户端软件做得更快?搜狗研发总监李子拓从网速、渲染、防假死、启动 等多角度介绍了搜狗浏览器“快”背后的技术要点。李子拓建议在启动客户端时,应竭力做好DelayLoad,推迟加载不需要的模块,等用户需要时再加载。最后他强调,不管在任何情况下,一定要优先响应用户的需求,最好把程序需要启动的时间告诉用户,让用户心中有数。
鲜果CEO梁公军
鲜果CEO梁公军从产品的层面,详细讲解了如何快速组建团队及如何快速的发布、推广、迭代产品。
要做到快速发布产品,梁公军表示公司内部首先要有良好的沟通工具,可选confluence或jira,其次就要从事、人、时间三方面做到快速开发,对于架构师要特别注意一点,即先做到,再做好。再者就是对于员工要做到知人善任,每个人责任分工要非常明确。
对于创业团队,在最开始做产品时,不要贪全贪大。梁公军建议如果所做产品还不成熟,可以先只做iOS及主要的Android机型适配,等产品成熟后,再去适配其它机型。否则以后兼容的开发成本会越来越高。
当前移动互联网很热,很多公司纷纷投入到移动潮流中,最终谁将问鼎?梁公军认为这将取决于正确的方向、正确的市场时间、靠谱的领导人和合作伙伴、充足的粮草、快(体现在执行力上)等因素。SOLOMO(Social Local Mobile)才是未来产品的正确方向。
圆桌论坛主持人刘江,从左至右分别是梁公军、李子拓、黄森堂
最后,在圆桌论坛中,CSDN&《程序员》杂志总编刘江及三位讲师就客户端的相关技术进行了讨论。对于做客户端的开发人员应该关注哪些技术,鲜果CEO梁公军表示,如果开发者希望向移动领域发展的话,对于C#语言的开发者,可以关注一下Windows Phone 7;C++的开发者,可以关注一下iOS;Java开发者,可以关注一下Android;前端开发人员,可以研究一下HTML5。