当前位置:  开发笔记 > 编程语言 > 正文

如何让Java3D更快启动?

如何解决《如何让Java3D更快启动?》经验,为你挑选了1个好方法。

我的应用程序需要几秒钟才能显示第一个带有a的窗口Canvas3D.我对它进行了分析,发现存在瓶颈SimpleUniverse.getPreferredConfiguration(); 第一个调用需要三到四秒,并且必须在渲染场景之前调用它.

我正在使用Direct3D渲染器(-Dj3d.rend=d3d),因为OpenGL渲染器在我的显卡上崩溃了.我有一个运行单个显示器的集成ATI卡.



1> Michael Myer..:

减速的原因是,某些系统GraphicsDevice.getConfigurations()使用的SimpleUniverse.getPreferredConfiguration()速度非常慢.请参阅此java.net论坛主题,该主题链接到此Java3D错误,该错误又链接到此Sun错误:

问题是::DescribePixelFormatWin32调用很慢 - 最多需要60ms才能完成....
使用建议的解决方法(elminats [sic]违规win32调用)时间显着改善(比如0ms).

提到的解决方法是传递-Dsun.awt.nopixfmt=true给JVM,这使得底层本机代码无法调用DescribePixelFormat.

这显然不是一个完美的解决方案:

...某些使用OpenGL和Java的应用程序可能无法正常工作.

但是因为我还在使用Direct3D,所以这不是问题.这减少了启动时间3.2秒.

推荐阅读
放ch养奶牛
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有