Macos CoreAnimation fade“;干的;在OS X Leopard上(CPU 100%)

Macos CoreAnimation fade“;干的;在OS X Leopard上(CPU 100%),macos,graphics,core-animation,Macos,Graphics,Core Animation,我制作了一个屏幕保护程序,它可以在许多“屏幕”之间显示统计表,并在这些屏幕之间逐渐消失。我只使用了CALayers和隐式动画,但即使如此,动画最多也只是不稳定的;屏幕之间有3个“跳跃”,一个在~5%,一个在~30%,然后是100%,而不是平稳过渡 在另一台机器的终端中运行top,屏幕保护程序在转换期间总是100%命中CPU 我在Mac mini上运行这个,PowerPC G4(1.5)@1.33GHz,内存512MB,运行Leopard。在运行期间,没有其他程序处于“活动”状态 System P

我制作了一个屏幕保护程序,它可以在许多“屏幕”之间显示统计表,并在这些屏幕之间逐渐消失。我只使用了CALayers和隐式动画,但即使如此,动画最多也只是不稳定的;屏幕之间有3个“跳跃”,一个在~5%,一个在~30%,然后是100%,而不是平稳过渡

在另一台机器的终端中运行
top
,屏幕保护程序在转换期间总是100%命中CPU

我在Mac mini上运行这个,PowerPC G4(1.5)@1.33GHz,内存512MB,运行Leopard。在运行期间,没有其他程序处于“活动”状态

System Profiler声明核心映像由软件支持,因此我假设隐式动画是在CPU中计算的,而不是内置Radeon卡


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

我相信,在大多数支持像素着色器2的图形卡上,OS X将在GPU上自动执行动画。 支持的GPU的确切列表很难找到,因为自从10.4问世以来就没有人真正谈论过它。 最低规格列表为:

  • ATI Mobility Radeon 9700
  • ATI Radeon 9600 XT、9800 XT、X800 XT
  • nVidia GeForce FX Go 5200
  • nVidia GeForce FX 5200 Ultra
  • 英伟达GeForce 6800 Ultra DDL,6800 GT DDL

因此,Mac mini和iBook G4s中的Radeon 9200和9500似乎没有得到适当的支持。

关于如何在Mac mini G4s上实现平滑动画的任何建议?Quartz Extreme(可能?)或straight OpenGL应该快得多,因为它们将使用GPU。不幸的是,这似乎是一个很大的努力,而不是简单的CopeI图效果?你也可以认为,你的目标市场大概有可能拥有全GPU加速计算机图像支持的计算机这些天,所以它可能不是一个问题后,不幸的是,不是;这是一个内部应用程序,我们仅限于较旧的MacMiniG4S。