4

詳細が含まれておらず、コード サンプルもないため、この質問をするのが怖いのですが、それは、過去数週間に取り組んだ 3 つのまったく異なるアプリでこの問題に遭遇したためです。特定のコードが問題を曇らせるだけかもしれないと考えています。

Web を精査しましたが、私が遭遇している現象への参照が見つかりませんでした。そのため、これをそこに捨てて、他の誰かが同じことを見たことを願っています。

「問題」は、私が構築したすべての iOS OpenGL アプリが、スタンドアロンで実行している場合よりも、Instruments でプロファイリングしている場合の方がはるかに高速に実行されることです。たとえば、フレーム レートが約 2 倍速くなります (たとえば、30fps から 60fps にジャンプ)。これは、コード タイミング ループとアプリの実行の監視の両方で測定されます。楽器は魔法のようなことをしているようです。

これは、iOS シミュレーターではなく、デバイス上にあります。

自分の OpenGL アプリをプロファイリングしてデバイス (具体的には iOS 5.1 を実行している iPad 3) に Instruments 経由でアップロードすると、フレーム レートは完全にフラットになり、スタンドアロンで実行するよりもはるかに高速になります。そのようなフレーム スキップやシェナニガンはないようです。同じ計算を約 2 倍の速度で実行するだけです。

コード サンプルは含まれていませんが、通常の作業を行っていると仮定してください。VBO と VAO を備えた OpenGL ES 2.0。ディスパッチ キュー/ブロックを使用して、一部の計算集約型コード領域をマルチスレッド化します。エキゾチックでもクレイジーでもありません。

漠然と似たようなことを誰かが経験したことがあるかどうか知りたいです。そうでない場合は、巣穴に戻り、フォークで足を刺し続けます。

4

1 に答える 1

7

プロファイリングすると、実行を押したときにデバッグ ビルドの代わりにリリース ビルドが (デフォルトで) 使用される可能性があります。

于 2013-03-23T00:27:55.323 に答える