2012-01-20 34 views
0

我試圖做在Mac上使用Java3D的一些動畫。Java3D的:在小應用程序的性能非常差在MacOS X

如果我使用universe = new SimpleUniverse();創造一個宇宙,一切都是快。問題在於有時會因爲在渲染過程中改變對象屬性而造成撕裂。我想要做的是在更新屬性時停止渲染。

我的第一步是試圖建立自己的Canvas3D,而這也正是事情發生了錯誤。而不僅僅是創建一個SimpleUniverse,我做這樣的事情:

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

當我做到這一點,第一個問題是,窗口不會自動出現。因此,基於示例在java2s,我嵌入一個applet的Canvas3D。然後我得到一個窗口,但表現是可怕的。渲染慢得多。

它幾乎就像渲染不再由圖形引擎實現,而是軟件。

誰能給我一些什麼,我做錯了什麼?

謝謝!

回答

1

你應該嘗試編譯您BranchGroups他們成爲現場之前。這有助於在對象顯示在Universe中之前對其進行預處理。如果你把問題的全部來源放在這個問題上,那麼java可能也會被其他的東西佔據,然後我可以告訴你更多。它可能也只是你的電腦,Java3D需要大量的內存,並且CPU密集程度很高,你的電腦規格也會在回答這個問題時相關

希望你能幫助你一點,如果你添加更多你的問題我很樂意幫助你更多

相關問題