我正在为我的应用程序开发用户界面......我的大部分应用程序都是用 c++ 编写的,但今天我开始考虑 UI。目前是用 Direct2D 编写的。我想知道是否有在 IOS(Ipad)和 OSX(MAC)中开发 UI 的等价物?
足够高级的东西,我可以绘制矩形和圆形,但也足够低,不像 GDI 那样慢。
提前致谢。
PS。我不想比较哪个更好或更坏,我只想知道我有哪些选择。
我正在为我的应用程序开发用户界面......我的大部分应用程序都是用 c++ 编写的,但今天我开始考虑 UI。目前是用 Direct2D 编写的。我想知道是否有在 IOS(Ipad)和 OSX(MAC)中开发 UI 的等价物?
足够高级的东西,我可以绘制矩形和圆形,但也足够低,不像 GDI 那样慢。
提前致谢。
PS。我不想比较哪个更好或更坏,我只想知道我有哪些选择。
CoreAnimation 是一个 GPU 加速的框架。单个视图缓存在 GPU 上。然后,您可以对它们应用合成任意变换。GPU 将此类变换应用于缓存的图像。因此,您可以使用 CoreGraphics 绘制圆形、矩形或其他任何东西,让 CoreAnimation 将该位图存储在 GPU 上,然后对其进行转换。
同样来自第一方框架,Sprite Kit 提供了一个面向游戏的框架,包括游戏风格(即加速的一次写入多次读取的“精灵”)绘图以及物理/等。
OpenGL ES 也完全受支持。您可以假设 2.0 始终可用,因为它是在 3GS 上引入的,并且 Apple 不再接受旧设备的二进制文件。3.0 也可用于最新的 iPhone。这显然比 Direct2D 低了很多,但 Apple 提供了 GLKit,它允许您轻松上传图像并通过几个简单的调用来模拟旧的固定功能管道。
在第三方世界中,我想人们会建议的主要内容是Cocos2d,但此时它已经在追赶 Sprite Kit。
其中,CoreAnimation、OpenGL 和 Cocos2D 跨越 iOS 和 OS X,但有一些细微差别,Sprite Kit 已经在 iOS 上可用,并将出现在下一个 OS X Mavericks 中。
从 Cocoa (OSX) 和 Cocoa Touch (iOS) 开始。在使用这些创建的应用程序中,您可以使用看起来很适合您的需求的 Core Graphics,或者可能是过度杀伤的 OpenGL。当然,您可以使用许多第三方库,Petesh 提到的 Cocos2d 就是其中之一。