OpenAL初始化会影响我的iPhone游戏的性能

OpenAL初始化会影响我的iPhone游戏的性能,iphone,performance,initialization,openal,Iphone,Performance,Initialization,Openal,我的iPhone游戏中的OpenAL性能不好。我的游戏以60帧/秒的速度平稳运行,但当我初始化OpenAL时,游戏开始抖动。这是我的初始化代码: ALCdevice* device = alcOpenDevice(NULL); ALCcontext *context; if(device) { context = alcCreateContext(device, NULL); alcMakeContextCurrent(context);

我的iPhone游戏中的
OpenAL
性能不好。我的游戏以60帧/秒的速度平稳运行,但当我初始化OpenAL时,游戏开始抖动。这是我的初始化代码:

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

    if(device) {
        context = alcCreateContext(device, NULL);
        alcMakeContextCurrent(context);
    }
我不创建任何
OpenAL
源代码,也不加载/播放任何声音。抖动(游戏一直在抖动)是由初始化
OpenAL
引起的。 XCode工具说游戏以稳定的60fps运行,但它显然是不稳定的(当我没有运行上面的代码时,游戏运行会很平稳)

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


有人注意到类似的行为吗

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

这是在模拟器上还是在实际手机上出现的故障


在你发布代码之后,你在用声音做什么?在您发布的代码中,如果
alcOpenDevice
失败,则您将没有上下文,但也不会返回

我编辑了你的文章,展示了“设备”和“上下文”最可能的定义;请确认您正在做类似的事情。