Представляем приложение Qt Quick 3D Benchmarking

3D, Quick, Qt, Benchmark

Content

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

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

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

Основная цель демонстрационного бенчмарк приложения состоит в том, чтобы пользователи могли без труда опробовать все поддерживаемые функции 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
How to become an author?

Contribute to the evolution of the EVILEG community.

Learn how to become a site author.

Learn it
Donate

Good day, Dear Users!!!

I am Evgenii Legotckoi, developer of EVILEG. And it is my hobby project, which helps to learn programming another programmers and developers

If the site helped you, and you want also support the development of the site, than you can donate by following ways

PayPalYandex.Money
Timeweb

Let me recommend you the excellent hosting on which EVILEG is located.

For many years, Timeweb has been proving his stability.

For projects on Django I recommend VDS hosting

View Hosting Timeweb
June 5, 2020, 11:20 p.m.
Aleksej

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

  • Result:60points,
  • Rating points-1
June 5, 2020, 11:15 p.m.
Aleksej

C++ - Test 001. The first program and data types

  • Result:53points,
  • Rating points-4
V
June 5, 2020, 4:47 p.m.
Vladzo

C++ - Test 005. Structures and Classes

  • Result:83points,
  • Rating points4
Last comments
June 5, 2020, 10:52 a.m.
progammist

Распознавание изображений на Python с помощью TensorFlow и Keras

Огромное спасибо за метериал, по-больше бы подобных статей (с подробным описанием работы и примерами применения) на тему современных технологий. Вопрос поразмышлять. На текущий момент реал…
June 5, 2020, 1:39 a.m.
Evgenij Legotskoj

Qt/C++ - Tutorial 091. How to write a custom delegate controlling the highlighting of a row in a table

По-моему, смысла в этом нет особого. Если делегат будет игнорировать настройки таблицы, то это приведёт ещё к большему непониманию, что вообще происходит, для программиста, который после вас буд…
June 5, 2020, 1:34 a.m.
IscanderChe

Qt/C++ - Tutorial 091. How to write a custom delegate controlling the highlighting of a row in a table

Сижу, размышляю: можно ли переписать делегата так, чтобы независимо от настроек строк выделялись строки?
June 5, 2020, 1:31 a.m.
Evgenij Legotskoj

Qt/C++ - Tutorial 091. How to write a custom delegate controlling the highlighting of a row in a table

Понятно. Я не обратил внимания на то, что там было в старом коде по настройкам строк :)
Now discuss on the forum
s
June 6, 2020, 1:54 a.m.
shuric

Qt/C++ Определение положения курсора над действие(кнопкой) в QToolBar

Доброго дня. Возник вопрос - как можно определить что курсор находится над определенным действием(кнопкой) в qtoolbar ? mainwindow.cpp MainWindow::MainWi…
s
June 6, 2020, 12:45 a.m.
shuric

Qt/C++ особенности QProxyStyle

Да, Вы правы. Код был скопирован с сайта (уже не помню с какого), но решил пойти по пути более легком. Пришлось переписать - кому интересно: использовал stackedWidget для пе…
June 5, 2020, 11:08 p.m.
Aleksej

Посоветуйте новичку (базы данных и Qt, что учить)

Блин, а я недавно купил Шлее Qt 5.10 :( С детства хотел стать программистом, баловался Паскалем, писал простенькие программки на Delphi, создавал движок на php, изучал C (забросил и перешел на п…
June 5, 2020, 1:09 p.m.
IscanderChe

QPlainTextEdit настройка цвета фона

Вечер добрый. Пытаюсь настроить цвет фона QPlainTextEdit следующим образом: CodeEditor::CodeEditor(QWidget *parent) : QPlainTextEdit(parent){ ... QPalette::ColorRole role = bac…
June 5, 2020, 6:13 a.m.
IscanderChe

Фильтр для QtableView sql

Добрый день. Для такой фильтрации необходимо использовать QSortFilterProxyModel. В оффдоках есть хороший пример.
About
Services
© EVILEG 2015-2020
Recommend hosting TIMEWEB