起動時に一連の大きな画像をロードするアプリケーションがあります。これはProcessingアプリケーションであるため、ほとんどの処理は単一のメイン アニメーション スレッドで実行され、Processing の OpenGL レンダラーを使用しています。
編集: JOGL 内の一部のプロセスに 5 秒以上かかると、RuntimeException がスローされます。スタックを後続のloadImage()
呼び出しに戻すことは、RuntimeException が回避されることを意味します。これを再現する方法はまだはっきりしていないので、醜いtry-catch +リフレクションの回避策hereを保存する方法を見つけていません。
画像の読み込みに 5 秒以上かかる場合があり、その場合、JOGL は 内から RuntimeException をスローします私の理解ではRecursiveLockImpl01Unfairish.lock()
。RecursiveLockImpl01Unfairish.lock()
、メインの GL アニメーション スレッドが 5 秒以上実行を停止すると文句を言います。
これに対する簡単な修正はありますか?画像の読み込みを別のスレッドに移し、初期化シーケンスを再シャッフルしてより非同期にすることもできますが、アプリケーションの初期化で、アプリケーションの起動に十分な時間があるときに 1 回だけ発生する処理には、多くの作業が必要です。関係なく。
(注: これはインストールのためのものです。朝の最初の起動時に誰もアプリケーションを使用したり使用しようとしたりすることはありません。そのため、init での数秒の遅延は問題になりません。)