mafulechka
mafulechka30 квітня 2020 р. 06:36

Представляємо програму Qt Quick 3D Benchmarking

Чому саме бенчмарк додаток?

У майбутньому випуску 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 i7-6700 @ 3,40 ГГц (8 процесорів) і NVIDIA GeForce GTX 1080, що працюють в бенчмарк режимі за замовчуванням.

Розмір екрану: (1920x1061)
Середній FPS: 59.800664451827245
Мінімальний FPS: 60
Максимальний FPS: 60
Мінімальний час кадру: 16.257699966430664
Максимальний час кадру: 19.12350082397461
Мінімальний час візуалізації: 0,1941986083984375
Максимальний час візуалізації: 0,5038013458251953
Мінімальний час синхронізації: 0,0214996337890625
Максимальний час синхронізації: 0,11910057067871094
Модель: High (100k) (#10)
Тип світла: Точкове яскравість 500
Тіні: ВИМК
Освітлення IBL: ВИМК
Режим візуалізації: поза кадром
Навколишня оклюзія: ВИМК
Skybox: ВИМК
Згладжування: Multisample AA (High)
Скроневий AA: ВИМК
Текстури: УВІМК
Розмір текстури: 2048x2048
Матеріал: матеріал за замовчуванням
Ефекти: немає

Якщо програма працює в Android, цей режим недоступний, як автономний. Бенчмарк можна запустити лише за допомогою кнопки Start Measurement («Почати вимір») , і результат буде відображено у текстовому полі.

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

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

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

Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

Коментарі

Only authorized users can post comments.
Please, Log in or Sign up
d
  • dsfs
  • 26 квітня 2024 р. 11:56

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:80бали,
  • Рейтинг балів4
d
  • dsfs
  • 26 квітня 2024 р. 11:45

C++ - Тест 002. Константы

  • Результат:50бали,
  • Рейтинг балів-4
d
  • dsfs
  • 26 квітня 2024 р. 11:35

C++ - Тест 001. Первая программа и типы данных

  • Результат:73бали,
  • Рейтинг балів1
Останні коментарі
k
kmssr09 лютого 2024 р. 02:43
Qt Linux - Урок 001. Автозапуск програми Qt під Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
АК
Анатолий Кононенко05 лютого 2024 р. 09:50
Qt WinAPI - Урок 007. Робота з ICMP Ping в Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVA25 грудня 2023 р. 18:30
Boost - статичне зв&#39;язування в проекті CMake під Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
J
JonnyJo25 грудня 2023 р. 16:38
Boost - статичне зв&#39;язування в проекті CMake під Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
G
Gvozdik19 грудня 2023 р. 05:01
Qt/C++ - Урок 056. Підключення бібліотеки Boost в Qt для компіляторів MinGW і MSVC Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Тепер обговоріть на форумі
Evgenii Legotckoi
Evgenii Legotckoi02 травня 2024 р. 21:07
Мобильное приложение на C++Qt и бэкенд к нему на Django Rest Framework Добрый день. По моему мнению - да, но то, что будет касаться вызовов к функционалу Андроида, может создать огромные трудности.
IscanderChe
IscanderChe30 квітня 2024 р. 11:22
Во Flask рендер шаблона не передаётся в браузер Доброе утро! Имеется вот такой шаблон: <!doctype html><html> <head> <title>{{ title }}</title> <link rel="stylesheet" href="{{ url_…
G
Gar22 квітня 2024 р. 12:46
Clipboard Как скопировать окно целиком в clipb?
Павел Дорофеев
Павел Дорофеев14 квітня 2024 р. 09:35
QTableWidget с 2 заголовками Вот тут есть кастомный QTableView с многорядностью проект поддерживается, обращайтесь
f
fastrex04 квітня 2024 р. 11:47
Вернуть старое поведение QComboBox, не менять индекс при resetModel Добрый день! У нас много проектов в которых используется QComboBox, в версии 5.5.1, когда модель испускает сигнал resetModel, currentIndex не менялся. В версии 5.15 при resetModel происходит try…

Слідкуйте за нами в соціальних мережах