Что нам говорит окно статистики SceneKit?

введите здесь описание изображения

Это окно открывается, когда для параметра showStatistics установлено значение true. Мне интересно, что означают все эти символы? До сих пор я понял, что количество кадров в секунду должно быть как можно выше, а также постоянным. Что означают другие и для чего они полезны?


person potato    schedule 03.07.2015    source источник
comment
Вы правы, что fps должен быть как можно выше. На самом деле должно быть 60. Все время. Опустите ниже 60, и пользователь заметит заикание :-)   -  person Fogmeister    schedule 04.07.2015
comment
Ну, черт побери. мой fps на устройстве 58 :D   -  person potato    schedule 07.07.2015


Ответы (1)


Вот что вы видите (примечание: я знаю большинство из них по собственному опыту, поэтому не стесняйтесь поправлять меня в комментариях, если я ошибаюсь):

  • Красно-серая полоса — это своего рода обзор производительности. Он основан на FPS, и вы должны сделать все, чтобы он оставался зеленым и полным. Сейчас совсем плохо!
  • GL говорит вам, какой движок рендеринга вы используете
  • 6FPS — ваша частота кадров. Это означает, сколько раз ваш экран обновляется за одну секунду. Ваша цель должна быть 60 (это максимум, что и ожидается от современных игр), но 30 приемлемо.
  • Этот ромб с 6 — это количество узлов, т. е. сколько узлов в вашем графе сцены.
  • 40.3k — это количество полигонов или количество полигонов в вашей сцене. Это кажется довольно высоким, учитывая, что у вас всего 6 узлов, и может объяснить низкий FPS.
  • Эта кольцевая диаграмма — это то, на что каждый кадр тратит свое время. В вашем случае вы можете видеть, что большая часть времени тратится на рендеринг (раздел справа объясняет значение каждого цвета)
  • 0.2s — это время, затрачиваемое на рендеринг каждого кадра. Это напрямую связано с частотой кадров.
person Moustach    schedule 04.07.2015
comment
хорошо спасибо. Это очень помогло! Вы знаете, что означает гистограмма с зеленым столбцом? - person potato; 07.07.2015
comment
Ой, забыл об этом... это связано с использованием ядер графического процессора или процессора, но я не могу вспомнить это. - person Moustach; 07.07.2015
comment
Кажется, я припоминаю, что квадрат — это количество вызовов отрисовки, а не количество узлов. - person David Rönnqvist; 13.07.2015
comment
В моем приложении кольцо показывает около 80% белого цвета, который помечен как WaitDrawable. Время рендеринга (в середине кольца) составляет около 16 мс, так что все еще приемлемо, но едва ли. Что означает WaitDrawable? - person drewster; 22.12.2017
comment
@drewster Что означает WaitDrawable - person Will Boland; 15.03.2018
comment
@WillBoland Не уверен - я думаю, что это было связано с остановкой графического конвейера - не удалось получить MTLDrawable с помощью nextDrawable. Насколько я понимаю, существует небольшое количество MTLDrawables, которые циклически проходят через... то есть, 1 доступен для использования, пока 1 рендерится, поэтому медленная обработка на любом этапе может привести к остановке конвейера отрисовки, что приведет к WaitDrawable. ‹-- Или это может быть совершенно неправильно. - person drewster; 16.03.2018
comment
@drewster имеет смысл, спасибо. В моей игре проблемы с FPS, так что разберитесь с этим. - person Will Boland; 16.03.2018
comment
@WillBoland Видео SceneKit от Apple WWDC 2015 с оригинальной демонстрацией Fox рассказывает о том, что вы можете сделать, чтобы улучшить производительность. developer.apple.com/videos/play/wwdc2015/606 - person drewster; 16.03.2018