OS X Sprite Kit - 脏矩形/区域

时间:2014-07-06 05:14:34

标签: macos core-animation sprite-kit

某些背景:

我有一个使用OpenGL的现有OS X卡游戏应用程序。

窗口可调整大小,并始终保持4:3的宽高比。

调整窗口大小时,OpenGL视图会相应调整大小。所有视觉元素都相应缩放。即卡片保持相对的尺寸和距离。

我有兴趣将代码移动到使用Sprite Kit的系统,或者主要基于Core Animation层的系统。对于我来说,Sprite Kit对我的需求更具吸引力,但是......

......我担心Sprite Kit的性能(或者更确切地说,不必要的性能,特别是在电池驱动的Mac上)对于一个游戏来说,基本上会将相同的纹理暴露在屏幕上,60fps,即使没有发生任何事情。 (大多数时候,这些牌是静态的,因为玩家会思考他们的下一步行动。)

为了减少所需的一些(重复)绘图,特别是在非常大的窗口尺寸下(例如30英寸显示器上的全屏),我有兴趣使用“脏rects / region”或“as-required”绘图系统

问题:

Sprite Kit是否提供某种脏的绘图系统,或者是否能够实现这样的绘图系统? (或者,它是否基本上以60fps反复绘制所有内容,无论是否需要重绘?)

1 个答案:

答案 0 :(得分:0)

SK是一个OpenGL渲染器,它自然会在每帧重绘其内容。然而,这并不会使它变慢。虽然UI框架的粗略绘制是一种提高性能但也降低功耗的方法,但是他们必须使用这种方法,因为在UI框架中渲染通常要慢得多(通常硬件加速)而不是在OpenGL渲染器中。

另一方面,如果渲染场景的复杂性极端,则SK可以在帧上较慢。但这对纸牌游戏来说听起来不太可能。

通常,在编写一些代码进行测试之前,您不应该关注性能。过早优化和所有...