2012-01-20 1 views
0

MacでJava3Dを使用していくつかのアニメーションを実行しようとしています。Java3D:MacOS Xのアプレットのパフォーマンスが非常に悪い

universe = new SimpleUniverse();を使用してユニバースを作成すると、すべてが高速です。問題は、レンダリングの途中でオブジェクトのプロパティを変更しようとしているために、時には少し破れていることです。私がしたいのは、プロパティを更新している間にレンダリングを止めることです。

私の最初のステップは自分でCanvas3Dを作成しようとしていましたが、それは問題が起こった場所です。むしろちょうどSimpleUniverseを作成するよりも、私はこの種のものの操作を行います。私はこれを行うと

GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration(); 
canvas = new Canvas3D(config); 
universe = SimpleUniverse(canvas); 

、最初の問題は、ウィンドウが自動的に表示されないということです。したがって、java2sの例に基づいて、私はアプレットにCanvas3Dを埋め込みました。その後、私は窓を得るが、パフォーマンスは厳しい。レンダリングはかなり低速です。

レンダリングはもはやグラフィックスエンジンではなく、ソフトウェアで行われているようです。

誰でも私がここで間違っていることについてのヒントを教えてもらえますか?

ありがとうございます!

答えて

1

ブランチグループがライブになる前にコンパイルしてください。これにより、オブジェクトがユニバースに表示される前に事前処理が可能になります。あなたが質問全体にソースを置くと、Javaがハングアップしていることもあります。それはあなたのコンピュータかもしれませんが、Java3Dは大きなメモリを要し、かなりCPUが集中しています。あなたのコンピュータの仕様もまたこの質問に答えるのに関係します。

あなたが少しでも助けてくれたら幸いですあなたの質問私はあなたをより喜んで助けるために

関連する問題