В iOS CADisplayLink
- это эквивалент AnimationTimer :
Объект таймера, который позволяет вашему приложению синхронизировать рисунок с частотой обновления экрана
Если вы проверите исходный код в JDK 1.8, вы найдете в графическом модуле под native-glass
для iOS реализацию этого таймера:
displayLink = [[UIScreen mainScreen] displayLinkWithTarget:[GlassTimer getDelegate]
selector:@selector(displayLinkUpdate:)];
// 1 is 60hz, 2 is 30 Hz, 3 is 20 Hz ...
[displayLink setFrameInterval:2];
Как вы можете видеть, FPS, который вы можете получить, ограничен по дизайну .
Хотя в прошлом могла быть причина для этого ограничения, я не вижу техническихПричиной этого больше, кроме ограничения расхода заряда батареи, вы будете форсировать эту высокую скорость в мобильном устройстве, где в большинстве случаев 30 кадров в секунду будет более чем достаточно.
Я изменил кадрс интервалом до 1 (60 Гц), собрал SDK для iOS и успешно протестировал его на моем iPhone:
Однако, конечно, это не то, как его нужно изменять,Этот параметр должен быть как-то открыт для разработчика, и какой-то API-интерфейс будет желательным.
Поскольку этот предел применяется также к OpenJFX JavaFX 11 кодовая база , я бы предложил подать заявку выпуск , поэтому его можно правильно изменить.