【发布时间】:2011-11-04 17:12:15
【问题描述】:
我已经使用 OS X 大约 11 个月了,在此之前我同时使用过 Linux 和 Windows,并且我知道使用在所有平台(非 Java)上都能正常运行的 GUI 做一些事情是多么痛苦。
我不明白的是,人们如何让《使命召唤》、《永远的毁灭公爵》或《蝙蝠侠阿卡姆疯人院》等游戏同时在 Windows 和 OS X 上运行。
DirectX 之类的库不是特定于 Windows 并且在 Mac 上完全不可用吗?我猜想像 Photoshop 这样的应用程序将有自己的 GUI,从零开始用 C++ 编写,所以不会像使用 3d 图形引擎那样造成麻烦(我错了吗?)。
我知道在 Linux 上通过 Wine 可以让某些东西工作,但这并不是真正的官方方式。
如何为高性能应用程序实现这种多平台性?
【问题讨论】:
-
抽象层之上的抽象层。一些 GFX 引擎是多平台的,这使得移植到新的操作系统变得很容易——GFX 引擎处理与底层图形平台的对话,而游戏的编码器只与 GFX 引擎对话。而且 DirectX 不是唯一的游戏,还有 OpenGL,它与平台无关