mafulechkaApril 30, 2020, 6:36 a.m.

Introducing Qt Quick 3D Benchmarking App

Почему именно бенчмарк приложение?

В предстоящем выпуске Qt 5.15 и улучшенной версии Qt Quick 3D разработчики хотели предложить своим клиентам и другим пользователям возможность легко протестировать возможности их аппаратного обеспечения. Так началось создание демонстрационного бенчмарк приложения.

ADS

Что можно с этим сделать?

Основная цель демонстрационного бенчмарк приложения состоит в том, чтобы пользователи могли без труда опробовать все поддерживаемые функции Qt Quick 3D 5.15. Это включает в себя, помимо прочего, изменение типа и количества света, сложности и количества модели, размера текстуры, материалов, а также метода и качества сглаживания.

Пользователи могут быстро проверить, если, например, количество нарисованных моделей оказывает большее влияние на производительность их оборудования, чем количество треугольников в модели. Это можно сделать, изменив настройки между рисованием моделей треугольников 100 x 10k и моделей треугольников 2 x 500k. То же самое можно сделать со светом. Попробуйте, если, например, использование 1 точечного источника света оказывает большее влияние на производительность, чем использование 3 направленных источников света.

Все поддерживаемые эффекты пост-обработки могут быть легко протестированы с заданными разумными значениями. Следует отметить, что не все эффекты будут работать на всех видах оборудования. Если устройство поддерживает хотя бы OpenGL ES3.2, то все должно работать. Если это не так, то у вас могут быть проблемы с драйверами устройств.

Имеется встроенный счетчик FPS, который позволяет пользователю непосредственно видеть эффект изменения любых функций сразу после внесения изменения в них.

До сих пор только говорилось о включении и отключении функций, но где бенчмарк тест?

Режимы работы

В приложении 3 режима работы.

Нормальный режим

Приложение запускается в обычном режиме по умолчанию. В обычном режиме вы можете отрегулировать все необходимые настройки, используя swipe view на правом краю экрана. Сначала вы увидите маленький значок на краю. Щелкнув по нему или перетащив, вы получите меню настроек. Перетаскивая снова, вы также получите меню эффектов.

Вы можете запустить бенчмарк из обычного режима, нажав кнопку Start Measuring («Начать измерение») в левом нижнем углу. Это запустит бенчмарк один раз и вернется в нормальный режим.
Существует также другой способ запуска бенчмарк, если у вас есть устройство, которое не поддерживает сенсорные или другие устройства ввода.

Бенчмарк режим

Вы можете включить бенчмарк режим, запустив приложение с параметром --mode benchmark в качестве аргумента командной строки. В режиме бенчмарка отображается только 3D-сцена. На экране нет счетчика FPS, меню и кнопок. Это делается для того, чтобы убедиться, что измеряется производительность рендеринга детали Qt Quick 3D без дополнительных затрат на отрисовку компонентов пользовательского интерфейса Qt Quick Controls.

Режим бенчмарк выполняет 60-секундный прогон измерения, после чего приложение выводит файл бенчмарк результатов в папку, из которой запускается приложение, и завершает работу. Эта же информация выводится и на консоль. В результате бенчмарка производительности выводятся все включенные/отключенные функции и измерения производительности рендеринга, как показано ниже.

Эти примеры приведены для Windows 10 Home 64-bit с процессором Intel® Core ™ TM i7-6700 @ 3,40 ГГц (8 процессоров) и NVIDIA GeForce GTX 1080, работающими в бенчмарк режиме по умолчанию.

Screen Size: (1920x1061)
Average FPS: 59.800664451827245
Minimum FPS: 60
Maximum FPS: 60
Minimum Frame Time: 16.257699966430664
Maximum Frame Time: 19.12350082397461
Minimum Render Time: 0.1941986083984375
Maximum Render Time: 0.5038013458251953
Minimum Sync Time: 0.0214996337890625
Maximum Sync Time: 0.11910057067871094
Model: High (100k) (#10)
Light Type: Point [brightness 500] (#1)
Shadows: OFF
IBL lighting: OFF
Render Mode: Offscreen
Ambient Occlusion: OFF
Skybox: OFF
Antialiasing: Multisample AA (High)
Temporal AA: OFF
Textures: ON
Texture Size: 2048x2048
Material: Default Material
Effects: None

Если приложение работает в Android, то этот режим недоступен, как автономный. Бенчмарк можно запустить только с помощью кнопки Start Measurement («Начать измерение») , и результат будет отображен в текстовом поле.

Чтобы сделать бенчмарк режим более удобным для широкого спектра устройств, есть три предустановочных уровня оборудования и две разные настройки для целевой среды. С помощью аргумента командной строки --preset уровень производительности оборудования может быть установлен на entrylevel, midrange (по умолчанию) или highend . Аргумент командной строки --target может быть установлен на desktop (рабочий стол) (по умолчанию) или embedded (встроен) . Вы можете попробовать их комбинацию, чтобы получить представление о возможностях вашего оборудования.

Демонстрационный режим

Демонстрационный режим включается передачей --mode demo в качестве аргумента командной строки. Демо-режим будет работать в цикле бесконечно, так как он предназначен для работы на стендах или витринах. Демонстрационный режим поддерживает комбинацию аргументов --preset midrange/highend и --target . Нет отдельной поддержки для оборудования начального уровня, так как не имеет смысла запускать демонстрационный режим без освещения IBL и скайбокса, например.

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
Support the author Donate

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Fornex

Let me recommend you a great European Fornex hosting.

Fornex has proven itself to be a stable host over the years.

For Django projects I recommend VPS hosting

Following the link you will receive a 5% discount on shared hosting services, dedicated servers, VPS and VPN

View Hosting
MP

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:60points,
  • Rating points-1
SI

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:60points,
  • Rating points-1
k

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:90points,
  • Rating points8
Last comments
H

Python: How to Test Internet Speed

There may be no animus franchise that opens with as dull-witted and satiating a ritual as Scream. As the shaping followers’s logo appears on wall, we rather enter upon hearing the ringing of a l…
A
  • Andrew
  • Jan. 12, 2022, 11:41 a.m.

Qt/C++ - Lesson 038. Switching between windows in the Qt

Здравствуйте, а как сделать чтобы второе и третье окно не сохраняли свои параметры а создавались заного? Только начинаю изучать прогграмирование и пишу протенькую игру сделал 2 окна, одно с меню…
j
  • juvf
  • Dec. 28, 2021, 11:56 p.m.

Deploying Qt and QML Applications on Linux and Windows

написал приложение, холоворд на qt виджетах, без qml. Из визарда QtCreator. Собрал кросскомпилятором. Нужно перенести на таргет. juvf@juvf-VirtualBox:~/qtWs/test/imx6/release$ ~/CQtDeploye…
AO

Qt/C++ - Lesson 023. Moving QGraphicsItem on QGraphicsScene with mouse help

А есть возможность передавать координаты классу, что-бы он рисвал, допустим линию?
q

Django - Tutorial 036. How to add authentication through social networks. VKontakte

Добавь в setting.py строку: SOCIAL_AUTH_VK_OAUTH2_API_VERSION = '5.81'
Now discuss on the forum
AB

Sorting the added QML elements in the ListModel

I am writing an alarm clock in QML, I am required to sort the alarms in ascending order (depending on the date or time (if there are several alarms on the same day). I've done the sorting …
VK

Как получить ссылку на обьект присылающий сигнал через сигнал/слот?

Вот и ответ: Спасибо Александру за подсказку. void Core::onLogin(QString m_login) { Worker *m_worker = qobject_cast (sender()); hashLogin.insert(m_login, m_wor…
v

подтвердить значение в SpinBox

Мне необходимо подтвердить значение в SpinBox нажатием клавиши Enter и перевести фокус на другое поле. self.doubleSpinBox.returnPressed.co nnect(self.pressedKeys) def pressedKeys(sel…

Сортировка по дате и времени QSortFilterProxyModel QSqlRelationalTableModel

Добрый день. Наследуйте модель сортировки от QSortFilterProxyModel и переопределите метод QSortFilterProxyModel::lessThan таким образом, чтобы вы забирали через индексы дату и в…

Как создать класс вызывающий функции по входному числу 0-255?

Вы в любом случае упрётесь в маршрутизацию сообщения от этих цифр 0-255 до вызова конкретных методов и функций. А все эти пляски метасистемой Qt в данном случае лишь усложнение кода. Если …
About
Services
© EVILEG 2015-2021
Recommend hosting TIMEWEB