2010-07-06 55 views
1

我制作了一个屏幕保护程序,它在跨越多个“屏幕”之间显示统计表的数据。我只使用了CALayers和隐式动画,但即使如此,动画也是最好的;而不是平滑过渡,屏幕之间有3个“跳跃”,一个在〜5%,一个在〜30%,然后是100%。CoreAnimation在OS X Leopard(CPU 100%)上褪色“生涩”

在另一台机器的终端中运行top,屏幕保护程序在转换过程中总是达到100%的CPU。

我在运行Leopard的Mac mini,PowerPC G4(1.5)@ 1.33GHz和512MB RAM上运行此操作。运行期间没有其他程序处于“活动”状态。

System Profiler指出Core Image由软件支持,所以我假设隐式动画是在CPU中计算的,而不是内置的Radeon卡。

将动画移动到GPU需要做什么?

回答

2

我相信,OS X会在大多数支持像素着色器2的显卡上自动执行动画。 支持的GPU的确切列表很难找到,因为从10.4出来以后就没有真正讨论过了。 最小规格列表:

  • 的ATI Mobility Radeon 9700
  • 的ATI Radeon 9600 XT,9800 XT,X800 XT
  • NVIDIA的GeForce FX转到5200
  • NVIDIA的GeForce FX 5200超
  • 的nVidia GeForce 6800 Ultra DDL,6800 GT DDL

因此,看起来在Mac mini和iBook G4s的Radeon 9200和9500是不正确的sup移植。

+0

然后有关如何在Mac mini G4s上实现流畅动画的建议? – 2010-07-07 11:31:04

+0

Quartz Extreme(也许?)或直OpenGL应该会快很多,因为他们会使用GPU。不幸的是,这似乎是很多努力,而不是简单的CoreImage效果? – Coxy 2010-07-08 00:56:11

+1

你也可以认为你的目标市场很可能已经拥有完全GPU加速的CoreImage支持的计算机,所以它可能不是问题。 – Coxy 2010-07-08 00:56:54

相关问题