OpenAL初始化会削弱我的iPhone游戏的性能

时间:2011-08-20 10:56:00

标签: iphone performance initialization openal

我的iPhone游戏中OpenAL出现性能问题。我的游戏以60fps顺利运行但是当我初始化OpenAL时,游戏开始变得混乱。这是我的初始化代码:

    ALCdevice* device = alcOpenDevice(NULL);
    ALCcontext *context;

    if(device) {
        context = alcCreateContext(device, NULL);
        alcMakeContextCurrent(context);
    }

我不会创建任何OpenAL来源,也不会加载/播放任何声音。抖动(游戏一直抖动)是由OpenAL的初始化引起的。 XCode乐器说游戏以稳定的60fps运行,但它显然是抖动的(当我没有运行游戏上方的代码时,运行顺利)。

在带有iOS 3.1.3的旧iPod Touch 2G上也不会发生这种情况。在我使用iOS 4的所有其他设备上发生抖动,这也很疯狂。 我还尝试将OpenAL内容放在一个单独的线程中,但它没有帮助。

有人注意到了类似的行为吗?

1 个答案:

答案 0 :(得分:0)

在设置上下文后尝试调用alcGetError()以确保成功。

这是在模拟器上还是在实际的手机上失败了?

您发布的代码后,您是否正在执行任何声音操作?在alcOpenDevice失败的情况下,您发布的代码中没有上下文,但您也没有返回。