最近,硬件加速成为人们街谈巷议的一个主要话题。由于 CPU 速度每年的提升非常有限,同时越来越多的高性能图形卡逐渐成为了大多数计算机上的标准配置,因此在 CPU 上渲染复杂的用户界面就越发变得愚蠢至极了。但对于跨平台的框架如 Silverlight 来说,构建 DirectX 支持,然后再针对 OpenGL 重新实现一次并不值得微软这样去做。因此,WPF 更推荐使用 GPU 渲染整个 UI,Silverlight 则主要使用高度优化的软件渲染方式。
近日, David Reveman 向 Novel 的 Moonlight 添加了硬件渲染支持。借助于 Moonlights CPU 渲染的一个示例可以实现每秒 2 到 9 帧。当打开加速时,该比率提升到了每秒 29 到 35 帧。针对 CPU 与 GPU 的渲染速度是在运行着 Silverlight 的 Windows 机器上得出的。
当打开客户化着色器时最能体现出 Moonlight 的优势。由于 Silverlight 并不会加速大多数的像素着色器,因此在示例过程中打开他们会使得比率降为每秒 11 帧,而 Moonlight 则会持续维持在每秒 30 帧左右。
除了像素着色器外,Miguel de Icaza 说 Moonlight 可以使用硬件加速器将 3D 转换应用到任意的 Silverlight 对象上(drawings、images 以及 videos 等),并通过在硬件纹理上预先缓存内容进行表面渲染。
查看英文原文: Moonlight Leaps Ahead of Silverlight with Hardware Accelerated Pixel Shaders
评论