【IT168 案例】当包括皮克斯 (Pixar)、迪斯尼 (Disney) 和威塔数码 (WETA Digital) 在内的电影制片厂和视觉效果工作室需要生成业界领先的模拟效果时,他们求助于 Next Limit Technologies 的 RealFlow,一款高端 3D 和视觉效果应用程序。Next Limit 的另一款产品 Maxwell Render 则定位于建筑、产品设计和工程客户,为 CAD 和计算机图形市场提供模拟技术。由于有了此类高要求领域的客户,公司就需要开发出可带来最高客户满意度的用户界面。因此,Next Limit 选择了 Qt。挑战
意识到其众多潜在客户都在使用 Linux,但是 RealFlow 当时却仅适用于 Windows。公司立刻认识到还有某些市场尚未涉足,也清楚了自己要的并不是仅可将其 Win32 SDK GUI 代码转换为适用于 Linux 的工具。他们需要通用源代码,这样就可以使用面向对象的库完全重新编写 GUI。
解决方案
选择 Qt 的原因是它可以使用相同的源代码在多个平台上进行部署。经过广泛的调查,Next Limit 认为 Qt 是非常好的解决方案,因为它具有便捷易用、易于创建的用户界面和网络应用程序,以及适用于 Linux 、Windows 和 Mac OS X丰富的面向对象的 widget 库。这一点对 Next Limit 至关重要,因为他们需要投入大量的精力为全部三个平台提供改进的模拟技术、高级数学建模和编程方法。
为了测试 Qt,Next Limit 设计了一个简便的应用程序,涵盖了在 RealFlow 中最敏感的一些问题,包括流畅处理 OpenGL 的能力以及在用户控制 GUI 时使用计算线程的能力。测试非常成功, 结果 Next Limit 开发人员只用了两个月就将 RealFlow 移植到 Qt。
Next Limit RealFlow产品技术主管 Angel Tena 说“实在是太容易了。Qt 类设计的很好并易于使用。我们甚至常常不必去看文档。我们只要想出函数的名称,就会发现有一堆的函数可用。”
公司后来在开发 Maxwell Render 时,再现了使用 Qt 和 RealFlow 时的成功。Maxwell Render 是一款渲染软件,可精确地模拟现实世界中的光影效果。与 RealFlow 相同,Maxwell Render 适用于 Windows、Linux 和 Mac OS X,这在一定程度上要归功于 Qt 的跨平台开发能力。
价值
Next Limit 通过使用 Qt 已获得了诸多益处。他们的产品能够适用于更广阔的市场归功于增加了 Linux 和Mac OS X 平台,这为他们赢得大量的新客户。此外,借助 Qt,公司在开发提高客户满意度的产品的同时,也降低了开发时间和开发成本。
被 Next Limit Technologies 所折服的不仅是他们的客户。他们使用 Qt 开发的 RealFlow 产品最近获得了由电影艺术和科学学院颁发的 2007 年技术成就奖。
“自从我们使用 Qt 以后,我们软件的可用性和外观得到了极大改观。我们的客户也因此受益匪浅。” Angel Tena, Next Limit RealFlow 产品技术主管。
Qt 4.5 深入了解:Next Limit Technologies 测试 Qt Cocoa Port
Next Limit Technologies 是提供视觉效果和模拟解决方案的领先者,其旗舰产品有Real Flow 和 Maxwell Render。他们也是最早对 Qt 移植到 Mac Cocoa 进行测试的。自从早期 alpha 版的 Qt 移植到 Cocoa 开始,Next Limit Mac 主程序员 Ignacio Bonafonte 就一直在积极地从事移植工作了。
Bonafonte 说“实际上只需重新编译就可以了,然后每件事就都变得轻松顺畅。向 Cocoa 和 64 位移植一直都很顺利,只是在 UI 功能方面出现过一些小故障,但这在最终版本发布之前都能够解决。”
对于 Next Limit,在将 Qt 移植到 Cocoa 的工作中加入对 64 位处理的支持,可谓受益匪浅。许多 Maxwell Render 用户在生成高分辨率图像时需要使用多于 4GB 的内存。目前在性能方面,Mac 版本的 Maxwell Render 1.7.1 同 Linux 和 Windows 版本相比有些落后。但是 Next Limit 期望发展到 Qt 4.5 时,客户将享受到更快的渲染速度。Bonafonte 说“由于在 OSX 中采用了 64 位,即便是在简单场景和不占内存的情况下,同 32 位相比,我们已经将渲染速度提高了大约 15%。更快获得结果对我们的客户来说非常重要。”
由于 Maxwell Render 是基于 Qt 开发的,并且提供跨平台支持,Next Limit 在将 Qt 移植到 Cocoa 的 alpha 测试阶段并未遇到任何意外的困难。整个引擎和应用程序已在 64 位 Linux 和 Windows 系统上运行,唯一需要改动的是将少量本地 Mac OSX 32 位代码转换为 Cocoa 64 位的。
Ignacio Bonafonte 最后说到“除了转换少量代码,所有常用 UI 功能都十分顺利。虽然经过广泛测试后,我们发现了一些拖放操作和浮动停靠栏 widget 方面的小故障,但根据我们使用 Qt 这个跨平台工具包的良好经验,我们有信心会在最终版本发布前解决这些故障的。”