如何使Java3D启动更快?
我的应用程序需要几秒钟才能显示第一个窗口,其中包含一个如何使Java3D启动更快?,java,optimization,java-3d,Java,Optimization,Java 3d,我的应用程序需要几秒钟才能显示第一个窗口,其中包含一个Canvas3D。我分析了它,发现瓶颈在SimpleUniverse.getPreferredConfiguration();第一次调用需要三四秒钟,必须在渲染场景之前调用该调用 我正在使用Direct3D渲染器(-Dj3d.rend=d3d),因为OpenGL渲染器在我的图形卡上崩溃。我有一个集成的ATI卡运行一个监视器。速度减慢的原因是图形设备.getConfigurations(),SimpleUniverse.getPreferred
Canvas3D
。我分析了它,发现瓶颈在SimpleUniverse.getPreferredConfiguration()
;第一次调用需要三四秒钟,必须在渲染场景之前调用该调用
我正在使用Direct3D渲染器(
-Dj3d.rend=d3d
),因为OpenGL渲染器在我的图形卡上崩溃。我有一个集成的ATI卡运行一个监视器。速度减慢的原因是图形设备.getConfigurations()
,SimpleUniverse.getPreferredConfiguration()使用它,在某些系统上速度非常慢。请参阅,哪些链接到,哪些又链接到:
问题是::descripebePixelFormat
Win32调用速度慢-需要
最多可完成60毫秒。
…使用建议的解决方法(elminats[sic]对有问题的win32调用) 时间显著提高(达到0毫秒左右) 提到的解决方法是将
-Dsun.awt.nopixfmt=true
传递给JVM,这使得底层本机代码不调用descripebePixelFormat
这显然不是一个完美的解决方案:
。。。一些
将OpenGL与Java结合使用的应用程序可能无法正常工作
但既然我使用的是Direct3D,那就没问题了这减少了3.2秒的启动时间。我昨天刚刚找到了这个解决方法,所以我正在制作一个公共记录,这样我就不会再丢失它。如何将-Dsun.awt.nopixfmt=true传递给jvm?或者如何停止在java3D中调用图形配置对象?