- 4
- 0
- 约1.18千字
- 约 15页
- 2017-10-06 发布于河南
- 举报
暴风影音5,启动如何提速3倍
暴风影音5,启动如何提速3倍
客户端“快时代”技术分享
为什么要快?
调查表明:对暴风影音最不满意的原因中关于“快”的要求如下:
使用过程响应慢(22.6%) —— 要求快
在线视频播放卡(13.3%) —— 要求快
广告方面的抱怨(34.8%) —— 已经进行了4轮大扫除
说不清楚(14.9%)
其他缺点(14.4%)
有将近35.9%的用户体验表明,用户要求一个“快”的播放器
启动要变快,遇到的两个问题
(1) 启动软件时,如何将不必要的事情扔掉?
重构:将原有复杂架构下各个模块的复杂关联去掉,保证 每个模块的职责单一
(2) 如何能让界面最快的展现出来?
极速皮肤引擎:将加载和显示皮肤的速度做到极致
1. 重构:暴风新旧架构对比
无独立的
皮肤引擎
业务
子系统n
对比暴风影音3:暴风影音5的架构设计特点如下:
组件化、模块化、子系统化设计
分层设计,松藕合设计要求
皮肤引擎及业务逻辑分离式设计
业务
子系统1
相互调用
相互调用
相互调用
暴风3播放器
基础组件
2.1 极速皮肤引擎:皮肤架构设计
暴风影音3播放器
无独立的皮肤引擎
对象管理器
JS脚本
引擎
XML
加载器
暴风影音5播放器
皮肤引擎
皮肤解析器
对象管理器
文件加载器
图片
管理
显示
管理
皮肤元素库
元素事件管理
对比暴风影音3:暴风影音5的皮肤引擎设计特点如下:
对于冷启动的优化,让硬盘限制在可接受的范围
图片资源的优化,带来启动速度的质变
显示优化锦上添花,达到超快体验
相互调用
相互调用
2.2 极速皮肤引擎:优化的核心手法
2.2.1 IO读取优化
优化皮肤
自定义文件存储格式,减少文件读取交数,加速读取速度。
自定义压缩算法,减少文件IO读取。
2.2.1 IO读取优化结果
2.2.2 加载优化
2.2.3 代码优化
Region优化
采用更高效的算法,让Region窗口速度更好
对于常见圆角窗口,每个角只处理10*10像素
IDE
VC6
VC2005
VC2008
VC2010
库大小
1111K
1004K
3694K
4320K
版本
6.0
8.0
9.0
10.0
基础库
SDK
MFC
WTL
优点
速度最快
速度慢
速度接近SDK
缺点
开发效率低
开发效率高
开发效率高
2.2.3 Visual C++基础库选择
MFC库大小变化
IDE
VC6
VC2005
VC2008
VC2010
版本
3.0
8.0
9.0
10.0
ATL库大小变化
WTL最新版本:8.1
2.2.4 显示优化
让图片更快速显示出来!
抛弃传统的图片显示方法,挖掘CPU潜力!
抛弃传统窗口刷新技术,采用革新的窗口主动刷新技术。
最终优化结果(一)
最终优化结果(二)
谢谢 !
您可能关注的文档
最近下载
- 部编版语文五年级下册第二单元教材解读大单元集体备课.pptx VIP
- 部编版语文五年级下册第一单元教材解读大单元集体备课.pptx VIP
- 车工 (数控车床)理论知识考核要素细目表四级.pdf VIP
- 本科课程《基础护理学》教案,第十二章给药.doc VIP
- 农村题材小品剧本村官.pdf VIP
- 小品剧本-小品《绰号》.docx VIP
- 小品剧本-小品《竞选》.docx VIP
- 本科课程基础护理学教给药教案(2025—2026学年).docx VIP
- LaserjetCP1025系列打印机打印质量故障排除手册.pdf VIP
- 年会小品剧本小品剧本:搞笑小品剧本《都是喝酒惹事》台词大全.docx VIP
原创力文档

文档评论(0)