Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使Java3D启动更快?_Java_Optimization_Java 3d - Fatal编程技术网

如何使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中调用图形配置对象?