【问题标题】:Direct2D Equivalent for IOS OSX developmentIOS OSX 开发的 Direct2D 等效项
【发布时间】:2013-10-06 18:40:48
【问题描述】:

我正在为我的应用程序开发用户界面......我的大部分应用程序都是用 c++ 编写的,但今天我开始考虑 UI。目前是用 Direct2D 编写的。我想知道是否有在 IOS(Ipad) 和 OSX(MAC) 中开发 UI 的等价物?

足够高级的东西,我可以绘制矩形和圆形,但也足够低,不像 GDI 那样慢。

提前致谢。

PS。我不想比较哪个更好或更坏,我只想知道我有哪些选择。

【问题讨论】:

  • 这不是真正可以在本网站上回答的问题,因为它会引起讨论和个人意见,从而导致答案质量不佳。但是,话虽如此,如果是用于游戏,那么您可以使用 Cocos2d 之类的东西,它是跨平台且性能合理的。如果你想原生,那么你可以在 mac/ios 上使用CoreGraphics。请记住,触摸和鼠标设备之间的交互模型不同。
  • 抱歉,我没有从这个问题中看到那种结果。我不是在问人们喜欢使用什么,而是我有哪些选择!

标签: c++ ios macos ipad osx-mavericks


【解决方案1】:

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 编程,以便移植我的 UI 代码。
【解决方案2】:

从 Cocoa (OSX) 和 Cocoa Touch (iOS) 开始。在使用这些创建的应用程序中,您可以使用看起来很适合您需求的 Core Graphics,或者可能是过度杀伤的 OpenGL。当然,您可以使用许多第三方库,Petesh 提到的 Cocos2d 就是其中之一。

【讨论】:

    猜你喜欢
    • 2019-05-13
    • 2016-05-08
    • 1970-01-01
    • 2015-11-12
    • 1970-01-01
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多