Разговор о том, как сделать тест производительности клиента

контрольная работа

Эта статья была впервые опубликована на:Уокер ИИ

Как инженер по тестированию игр, помимо функционального тестирования, мы также должны уделять внимание другим специальным тестам, таким как слабая сеть, производительность, совместимость, безопасность и т. д. В последнее время команда проекта, к которой мы принадлежим, специализируется на оптимизации производительность игрового клиента Некоторые методы тестирования производительности клиента.

1. Недостаточная производительность клиента

Тест производительности игры включает в себя тест производительности сервера и тест производительности клиента.Тест производительности сервера в основном предназначен для проверки пропускной способности сервера перед выходом игры в онлайн, то есть нагрузочный тест и стресс-тест.Цель состоит в том, чтобы найти узким местом производительности сервера и обеспечить производительность игры.В игру можно нормально играть при заданном параллелизме, и может ли игра работать гладко, в дополнение к поддержке сервера, нельзя игнорировать производительность клиента.Возможно вы слышали слово "внезапно в напряженной игре геймеров" **Пропущенные кадры", что означает недостаточную производительность клиента, что серьезно влияет на игровой опыт.

Особенно в соревновательных играх, если нет стабильной выходной частоты кадров, игровой опыт может быть только разочаровывающим.Некоторые учащиеся могут спросить, какова связь между игровым отставанием и частотой кадров, а частота кадров относится к частоте кадров.Частота непрерывные растровые изображения, появляющиеся на дисплее в единицах единиц, то есть сколько картинок отображается в игровом обновлении в среднем за одну секунду.

2. Причина отставания в производительности игры

Для игр, если fps

wCYEF0.png

Вышеприведенная картинка относится к схеме механизма генерации и доставки картинки в prefdog.Прежде всего нам нужно понять, что frametime относится к длительному интервалу между двумя кадрами, или можно просто считать, что рендеринг одного кадра требует времени. То, что видит игрок, это интервал обновления экрана, а не рендеринг графического процессора. Интервал времени, из рисунка видно, что время рендеринга кадра B на графическом процессоре больше, чем интервал обновления дисплея, который составляет эквивалентен экрану, который не обновляется ни разу.

После понимания причин задержки игры и того, как предоставить тестовые данные в качестве игрового теста для разработчиков, чтобы оптимизировать производительность игры, я кратко расскажу о своем личном опыте. Прежде чем делать тест производительности игры, нам сначала нужно понять основные показатели, на которые нужно обращать внимание.

3. На что обратить внимание при тестировании

Частота кадров в секунду: количество кадров, отображаемых приложением в секунду.

использование процессора: Ресурсы ЦП, занятые приложением

ОЗУ: Занятость приложения хранится в системной памяти

GPU: occupancy rate: использование приложением ресурсов графического процессора.

поток: общий объем данных, передаваемых через сетевой порт в единицу времени.

Электричество: количество заряда, потребляемого приложением в единицу времени.

Сейчас на рынке есть много инструментов, которые могут собирать эти данные, такие как emmagee, gt, wetest, prefdog и т. д. После сравнительного использования я привык использовать prefdog.Преимущество в том, что мобильный телефон не требует рута, данные полны, инструменты просты в использовании и выводят полный отчет о производительности с высокой удобочитаемостью.

Найдите средство загрузки prefdog, есть версии для Windows и Mac, загрузите пакет распаковки для платформы Windows и дважды щелкните, чтобы открыть приложение prefdog.exe.

wCYg1S.md.png

Существует два способа подключения: один — напрямую подключить USB-соединение, а другой — подключиться к Wi-Fi.Следует отметить, что тест энергопотребления не может быть выполнен в режиме USB, потому что usb всегда находится в состоянии зарядки, и это значение не имеет большого значения. .

Prefdog будет собирать данные о рывках (количество зависаний в 1 с), поскольку высокая частота кадров не полностью отражает плавность или отсутствие зависаний, например кадры fps40, только 1 кадр визуализируется в первые 200 мс, а 39 кадров — в последние 800 мс. , хотя частота кадров 40, но он все равно будет застревать.Приведенная выше схема процесса генерации и доставки изображения имеет принцип.

Метод расчета PerfDog Jank:

Если следующие два условия выполняются одновременно, это считается Jank. Текущий кадр занимает более чем в 2 раза среднее время первых трех кадров. Время текущего кадра > время двух кадров фильма (1000 мс/24*2=84 мс).

После запуска заранее запланированной сцены нажмите кнопку паузы в правом верхнем углу, и появится окно сохранения.После нажатия кнопки «Подтвердить» вы можете запросить запись отчета на облачной веб-платформе.

wCtC9K.md.png

Перед выполнением клиентской производительности необходимо подготовить трехуровневое тестовое оборудование для высокого, среднего и низкого уровней.В начале каждого проекта также будет определено минимальное поддерживаемое оборудование.При выполнении тестирования производительности необходимо убедиться, что Минимальное оборудование также может работать без сбоев в начале настройки Заложить основу для последующих хороших операций.

Следует отметить, что в настоящее время на рынке представлено множество моделей, а некоторые бренды будут иметь собственные ЦП, поэтому здесь требуется целенаправленное тестирование. Большинство процессоров на рынке должны быть процессорами Snapdragon, распространены собственные Kirin, MediaTek, Apple и т. д. от Huawei. Взяв в качестве примера Duoduo Auto Chess, производительность процессора среднего и низкого уровня Snapdragon 435 в основном хороша, но производительность Huawei Kirin 710 и helio p20, которые являются процессорами среднего и высокого уровня Snapdragon 665 и Snapdragon 650, убогих много. Данные о рейтинге процессоров взяты из: (Уууу.

В настоящее время нам необходимо протестировать, сравнить и проанализировать процессоры различных марок мобильных телефонов и предоставить данные для разработки, чтобы упростить решения по оптимизации.

Проверка работоспособности клиента также требует настройки различных сценариев, на примере автошахмат игра делится на два сценария: внутриигровой и внеигровой. Главное в игре это бой, который также является местом, которое потребляет много производительности.Когда я буду делать сравнительный анализ, я буду вставлять основную информацию в общий документ, что удобно для быстрого сравнительного анализа.Когда мне нужно подробные данные, я проверю ссылку.Для внутриофисных сценариев работы один и тот же процесс используется для вывода отчетов о производительности клиента для разных пакетов оптимизации, а данные сохраняются и совместно используются в документах для удобного просмотра командой проекта.

wCtEBd.md.png

Как тестировщик игр, вы должны не только обращать внимание на данные о производительности при установке версии или оптимизации производительности, но и планировать тестирование производительности в обычных итерациях версий. Например, с каждой итерацией основной версии или с такими серьезными изменениями, как обновление движка и итерации художественных эффектов, тестирование производительности становится очень важным.Это может предотвратить слепое пятно отклонения производительности, вызванное этими крупными изменениями, и вовремя обнаружить проблемы для устранения. решать и оптимизировать их.


PS: Для получения дополнительной технической галантереи, пожалуйста, обратите внимание на [Публичный аккаунт | xingzhe_ai] и обсудите с ходоками!