簡體   English   中英

如何讓Java3D更快啟動?

[英]How can I make Java3D start faster?

我的應用程序需要幾秒鍾才能顯示第一個帶有Canvas3D窗口。 我對它進行了分析,發現瓶頸在於SimpleUniverse.getPreferredConfiguration() ; 第一個調用需要三到四秒,並且必須在渲染場景之前調用它。

我正在使用Direct3D渲染器( -Dj3d.rend=d3d ),因為OpenGL渲染器在我的顯卡上崩潰了。 我有一個運行單個顯示器的集成ATI卡。

的原因減速是GraphicsDevice.getConfigurations()它用於通過SimpleUniverse.getPreferredConfiguration()是在某些系統很慢。 請參閱此java.net論壇主題 ,該主題鏈接到此Java3D錯誤 ,該錯誤又鏈接到此Sun錯誤

問題是::DescribePixelFormat Win32調用很慢 - 最多需要60ms才能完成。 ...
通過建議的解決方法(elminats [sic]違規的win32調用),時間得到顯着改善(比如0ms)。

提到的解決方法是-Dsun.awt.nopixfmt=true傳遞給JVM ,這使得底層本機代碼不會調用DescribePixelFormat

這顯然不是一個完美的解決方案:

...某些使用OpenGL和Java的應用程序可能無法正常工作。

但是因為我還在使用Direct3D,所以這不是問題。 這減少了啟動時間3.2秒。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM