У меня возникли проблемы с использованием приложений JFX. На моей локальной развивающейся системе (Linux) мое приложение получило использование процессора около 0-2%. Когда я устанавливаю и запускаю свое приложение в системе windows vm клиента, использование процессора намного выше, около 50-70%. Это явление происходит только в системе VM. Если я запускаю приложение в локальной системе Windows, все работает нормально. Поэтому я думаю, что это связано с графическим адаптером vm и его конфигурацией. Но клиент говорит, что нет конфигурации графического адаптера. Я исследовал подобные проблемы с производительностью, и я попробовал некоторые варианты виртуальной машины Java, как:Использование ЦП JavaFX
-Dprism.order=es2,es1,sw,j2d
-Dsun.java2d.opengl=true
-Dprism.vsync=false
-Dprism.forceGPU=true
Опцию -Dprism.order = es2, ES1, Sw, j сократили использование до 25%. Все еще высоко, но я не знаю, что еще я могу сделать?
Редактировать: Спасибо за ответ. Когда в запуске приложения без -Dprism.order = es2, es1, Sw, j2d я получил follwoing сообщения и 70% загрузки процессора:
D3DPipelineManager: Created D3D9Ex device Direct3D initialization succeeded (X) Got class = class com.sun.prism.d3d.D3DPipeline Initialized prism pipeline: com.sun.prism.d3d.D3DPipeline
Когда я запустить приложение с параметром я получил следующее сообщение и 20% использование процессора:
Prism pipeline name = com.sun.prism.sw.SWPipeline (X) Got class = class com.sun.prism.sw.SWPipeline Initialized prism pipeline: com.sun.prism.sw.SWPipeline
Попробуйте добавить параметр -Dprism.verbose = true, который выливает подробное ведение журнала настроек. Это должно сказать вам, какой путь использует JavaFX в виртуальной машине. Релевантный, но не совсем повторяющийся: http://stackoverflow.com/questions/26536841/javafx-animation-poor-performance-consumes-all-my-cpu – Gimby
Спасибо за ответ. Когда в запуске приложения без -Dprism.order = es2, es1, Sw, j2d я получил follwoing сообщения и 70% загрузки процессора: D3DPipelineManager: Создано D3D9Ex устройство инициализации Direct3D преуспела (X) есть класс = класс com.sun .prism.d3d.D3DPipeline Initialized призма трубопровода: com.sun.prism.d3d.D3DPipeline Когда я запустить приложение с параметром я получил следующее сообщение и 20% использование процессора: Prism название трубопровода = com.sun .prism.sw.SWPipeline (X) Получил класс = класс com.sun.prism.sw.SWPipeline Инициализированный призменный трубопровод: com.sun.prism.sw.SWPipeline – Dennis
sry. Я сделал это сейчас – Dennis