Обратите внимание, что при подключенном отладчике производительность будет ужасной.
В моей собственной игре для Android время кадра можно измерить с помощью android.os.SystemClock
.То есть вы вызываете SystemClock.elapsedRealtime()
один раз за кадр и вычитаете значение из предыдущего кадра.Поскольку elapsedRealtime()
измеряется в миллисекундах, вычисление частоты кадров выполняется просто, как 1000.0 / frametime
.
. Вы можете разместить свой код в текущем кадре, используя Choreographer#postFrameCallback
, если нацеливает уровень API 16или новее (Jelly Bean).
Также обратите внимание, что время кадра обычно является лучшим показателем производительности, чем частота кадров.Разница между 1000 к / с и 1200 к / с - это то же количество времени, что и разница между 60 к / с и 61 к / с (приблизительно, вероятно, меньше, чем это)