2011-01-19 6 views
3

テクスチャがたくさんあるMonoTouch OpenGLアプリケーションがあります。ユーザーがiPhoneボタンを押してアプリをバックグラウンドに移動すると、すべてのテクスチャデータが消えてしまうようです。元々ロードされていたテクスチャで描画している三角形を塗りつぶす単色が表示されます。MonoTouch OpenGLアプリケーションは、背景に移動するとテクスチャデータが失われます

任意新しい背景状態から再開した後に読み込むテクスチャが正しく表示されます。これは、アプリが背景に移動される前に読み込まれたテクスチャであり、堅実に表示されます。

The docs「テクスチャ、モデル、その他のアセットをメモリ内に保持する必要があります。私は自分のテクスチャには何もしていないが、何かを強制している。

アイデア?

+0

。私のアプリケーションでは、フォアグラウンドに戻るときに背景に行く前に設定したVBOがそこにあります。ドキュメンテーションの「メモリ内」とは「GPU上」を意味していますが、テクスチャが別のケースであり、再バインドする必要があるのだろうかと思います。 –

+0

バインドされたテクスチャは、次の段落で説明されているものの一部である可能性があります。これは、必要に応じて簡単に再作成できるコンポーネントです。 –

答えて

2

私の解決策は、iPhoneOSGameViewを使用しないことでした。これは、私のアプリがバックグラウンドになったときに消えるテクスチャに関連するすべての問題を修正しました。フレームバッファーを管理し、自分でタイマーを更新するコードはかなりシンプルで、余分な明快さ(そしてバックグラウンドからの復元作業)が努力する価値があることが分かりました。 iPhoneOSGameViewを使用していない

も、私はapplication's timer actually running at full speed when the app is activeについてよりよく感じさせる:

興味深い
+1

iPhoneOSGameViewの置き換えコードを投稿する可能性はありますか?私はまた、それに問題を抱えている、私はあなたがしたように最初からそれを設定する方が良いと思う... – sinsro

+0

または、おそらく高レベルの概要を共有? –

関連する問題