我正在使用AnimationTimer()
類的JavaFX動畫。根據所有可能的消息來源,它應該默認工作在60 fps。但是,在我的筆記本電腦上,刷新率要高得多:300-700,具體取決於窗口大小。我使用IntelliJ IDEA Community Edition和Manjaro Linux GNOME Edition上的Oracle JDK8。我已經嘗試了其他JDK - 仍然是相同的情況。它的行爲就好像JVM選項javafx.animation.fullspeed
設置爲true,但事實並非如此。同樣的情況發生在另一臺機器上,同時運行Manjaro GNOME版本。JavaFX 60 fps幀速率上限不起作用
我試過(無證)JVM選項:
javafx.animation.fullspeed=false | true
javafx.animation.framerate=value
javafx.animation.pulse=value
他們改變什麼,即使Settings.get(key)
回報值集。在另一臺基於Windows 10的計算機上,FPS的行爲正確:在默認/無VM選項時保持60個值,當在Windows上運行全速時,運行速度爲javafx.animation.fullspeed=true
,就像在Manjaro/VirtualBox上一樣。
看看https://stackoverflow.com/questions/44327853/crazy-javafx-frame-rate-any-ideas和它下面的評論。 –
這裏是上面提到的錯誤報告James_D的鏈接。 https://bugs.openjdk.java.net/browse/JDK-8181764但問題是這個bug被拒絕了,因爲JavaFX團隊無法複製它。所以這似乎是一個非常具體的設置觸發這個錯誤。 – mipa
謝謝@James_D,解決方法很好地解決了這個問題。我將在上面的問題中添加一個片段。我不會自己找到解決方案。 –