2012-03-25 11 views
0

私は、opengl es 1.xを使用してAndroidプラットフォーム上でゲーム(およびゲームエンジン)を作っています。レベルのデータを読み込んで構築する際に、別のシーンをレンダリングして、レベルローディングコードで作業している間に何か見ることができるようにしたい。私はレベルローディングコードが随時レンダリングできるコールバック関数を呼び出すフックシステムを使用することを考えました。Androidで長いCPU処理を実行中にOpenGLをレンダリングする

問題は、レベルローディングコードがOpenGLスレッドを使って作業を実行しているので、バックバッファの内容を表示するために手動でOpenGL ESを取得する方法です。

何かアドバイスは大歓迎され、 おかげ

答えて

1

いくつかの時間があるときにあなたのコードをロードするコールレンダリングコード(レンダリングコードの呼び出しにロードするコードを聞かせてを持っていることの逆を行うために試みることができるこれらの間のFAME )。できるだけ小さな分数に分けて(画像バッファなどを100バイトだけ読み込みます)、返す前にできるだけ小さな量の作業を行う一般的なload()メソッドを呼び出してから、次のフレームをレンダリングする前にもう一度呼び出す時間がある場合は、もう一度呼び出すと、一定時間(一定のターゲットfpsを維持する)まで実行を繰り返します。 これは、すべての読み込みを小さなチャンクに分割し、ロードする「タスク」のキューを作成できる場合にのみうまく動作します。

関連する問題