Welcome

首页 / 软件开发 / Silverlight / GPU硬件加速下Silverlight超性能动画实现(下)

GPU硬件加速下Silverlight超性能动画实现(下)2013-11-15 博客园 深蓝色右手通过上一节的测评,相信大家已经对Silverlight中利用GPU硬件加速来提升性能有了深刻印象。 Silverlight游戏开发中,我们需要综合运用多种形式的动画及相关图形处理技巧,此时如果能充分合理的利 用GPU硬件加速功能,配合上性价比最高的功能实现方式,这将为大家打造帝王级高性能RIA网页游戏奠定坚实 的基础。

游戏中的主角是精灵,出现得最多最频繁的同样是精灵;于是,我在上一节的基础上重新修改并制作了全 新的Demo。该Demo中集合了目前主流的Silverlight游戏精灵配置环境,以下是我测试的具体细节:

机器配置:

还是上一节中那台测试机器,针对游戏中精灵的不同配置在是否启动GPU硬件加速下对整体性能的影响测评 如下:

1)不同移动方式对性能的影响

GPU加速移动方式动作方式切换间隔移动速度精灵数量精灵尺寸FPSCPU消耗(%)内存占用(M)
Storyboard轮换图片1504200150*1504.488465
Storyboard轮换图片1504200150*15046.825586
DispatcherTimer轮换图片1504200150*1504.088865
DispatcherTimer轮换图片1504200150*15042.315591
虽然从数据上得到的Storyboard移动方式与DispatcherTimer移动方式在性能上几乎无异,但是实际运行时 我们会发现Storyboard比DispatcherTimer移动起来更加平滑流畅,特别是在GPU硬件加速下。

2)不同切帧方式对性能的影响

Silverlight中主流的动画实现方式有图片轮换及矩形截取,它们所需的素材布局结构也不同,类似如下( 如对此两种方式的素材及实现逻辑代码感兴趣的朋友可下载本节源码自行研究):