【问题标题】:OpenGL development for mac in Xcode. Can I force software render?在 Xcode 中为 mac 开发 OpenGL。我可以强制软件渲染吗?
【发布时间】:2011-08-02 04:50:03
【问题描述】:

我正在将 OpenGL 游戏从 iPhone 移植到 Mac,但遇到了纹理损坏的问题。我猜是内存问题。

问题是我现在已经使 mac 崩溃了 3 次(在游戏启动时随机发生),因此调试变得越来越困难。

有什么方法可以强制软件渲染?

【问题讨论】:

  • 啊!坏的记忆。我曾经在我的 2007 黑色 macbook 上一直看到这个屏幕。自从macs“从不崩溃”以来,这让我很生气。我的新的虽然真的从来没有:)

标签: xcode macos opengl


【解决方案1】:

在创建用于初始化上下文 (initWithAttributes:) 的像素格式属性列表时,选择 kCGLRendererGenericID 作为 NSOpenGLPFARendererID

NSOpenGLPFARendererID

Value 是一个非负的渲染器 ID 号。首选匹配指定 ID 的 OpenGL 渲染器。用于选择特定渲染器的常量在 OpenGL 框架的 CGLRenderers.h 头文件中提供。值得注意的是 kCGLRendererGenericID,它选择 Apple 软件渲染器。其他常量选择特定硬件供应商的渲染器。

注意!我刚刚看到kCGLRendererGenericID 已被弃用,要使用的是kCGLRendererAppleSWID

另一个提示是使用 OpenGL Profiler 启动应用程序。看这里

http://lists.apple.com/archives/quartzcomposer-dev/2010/Jun/msg00090.html

【讨论】:

    猜你喜欢
    • 2010-11-26
    • 2017-07-27
    • 2016-06-15
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 2012-05-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多