Высокая точность измерения FPS в Chrome - PullRequest
0 голосов
/ 11 февраля 2019

Я заметил, что измеритель FPS, доступный в Chrome DevTools / Меню / Дополнительные инструменты / Рендеринг / Измеритель FPS, кажется, не обеспечивает точного измерения FPS.

Иногда он показывает 60 FPS при панорамировании векторной картыно это не кажется гладким.В других случаях, например, когда карта проще, она выглядит как 60 FPS - есть заметная разница.После быстрого гугла я обнаружил эту проблему https://bugs.chromium.org/p/chromium/issues/detail?id=421776,, но нет разрешения.

Итак, вопрос в том, есть ли способ точно измерить FPS в Chrome?

1 Ответ

0 голосов
/ 11 февраля 2019

Смотрите здесь: https://github.com/mrdoob/stats.js

Это самый точный из них.

Вот обзор:

stats.js

Монитор производительности JavaScript

Этот класс предоставляет простое информационное окно, которое поможет вам отслеживать производительность вашего кода.

  • FPS Кадры, отображаемые в последнюю секунду.Чем выше число, тем лучше.
  • MS Миллисекунды, необходимые для рендеринга кадра.Чем меньше число, тем лучше.
  • МБ МБ выделенной памяти.(Запустите Chrome с параметром --enable-precision-memory-info)
  • CUSTOM Поддержка пользовательских панелей.

Снимки экрана

enter image description here

Использование

var stats = new Stats();
stats.showPanel( 1 ); // 0: fps, 1: ms, 2: mb, 3+: custom
document.body.appendChild( stats.dom );

function animate() {

    stats.begin();

    // monitored code goes here

    stats.end();

    requestAnimationFrame( animate );

}

requestAnimationFrame( animate );

Букмарклет

Вы можете добавить этот код на любую страницу, используя следующий букмарклет:

javascript:(function(){var script=document.createElement('script');script.onload=function(){var stats=new Stats();document.body.appendChild(stats.dom);requestAnimationFrame(function loop(){stats.update();requestAnimationFrame(loop)});};script.src='//mrdoob.github.io/stats.js/build/stats.min.js';document.head.appendChild(script);})()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...