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

Introducing Qt Quick 3D Benchmarking App

Why a benchmark app?

With the upcoming release of Qt 5.15 and the improved version of Qt Quick 3D, the developers wanted to offer their customers and other users the ability to easily test the capabilities of their hardware. Thus began the creation of a demo benchmark application.


What can be done about it?

The main purpose of the demo benchmark application is to enable users to easily try out all the supported features of Qt Quick 3D 5.15. This includes, but is not limited to, changing the type and amount of light, the complexity and amount of the model, the size of the texture, materials, and the method and quality of anti-aliasing.

Users can quickly check if, for example, the number of models drawn has a greater impact on the performance of their equipment than the number of triangles in the model. This can be done by changing the settings between drawing 100 x 10k triangle models and 2 x 500k triangle models. The same can be done with light. Try it if, for example, using 1 point light has a bigger performance impact than using 3 directional lights.

All supported post-processing effects can be easily tested with reasonable values. It should be noted that not all effects will work on all types of equipment. If the device supports at least OpenGL ES3.2, then everything should work. If it doesn't, then you may have a problem with your device drivers.

There is a built-in FPS counter that allows the user to directly see the effect of changing any features immediately after making a change to them.

So far, we have only talked about enabling and disabling features, but where is the benchmark test?

Operating modes

The application has 3 modes of operation.

Normal mode

The application starts in normal mode by default. In normal mode, you can adjust all the necessary settings using the swipe view on the right edge of the screen. First you will see a small icon on the edge. Clicking or dragging it will bring up the settings menu. By dragging again, you will also get the effects menu.

You can start the benchmark from normal mode by clicking the Start Measuring button in the bottom left corner. This will run the benchmark once and return to normal mode.
There is also another way to run the benchmark if you have a device that does not support touch or other input devices.

Benchmark mode

You can enable benchmark mode by running the application with --mode benchmark as a command line argument. In benchmark mode, only the 3D scene is displayed. There is no FPS counter, menus or buttons on the screen. This is to ensure that the rendering performance of a Qt Quick 3D part is measured without the overhead of rendering Qt Quick Controls UI components.

Benchmark mode performs a 60-second measurement run, after which the application outputs the benchmark results file to the folder from which the application is launched and exits. The same information is displayed on the console. The performance benchmark outputs all enabled/disabled features and rendering performance measurements as shown below.

These examples are for Windows 10 Home 64-bit with an Intel® Core™ TM i7-6700 @ 3.40 GHz (8 processors) and NVIDIA GeForce GTX 1080 running in default benchmark mode.

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
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

If the application is running on Android, then this mode is not available as standalone. The benchmark can only be started using the Start Measurement button, and the result will be displayed in the text field.

To make the benchmark mode more convenient for a wide range of devices, there are three preset hardware levels and two different settings for the target environment. With the command line argument --preset , the hardware performance level can be set to entrylevel, midrange (default), or highend . The command line argument --target can be set to desktop (desktop) (default) or embedded (embedded) . You can try a combination of them to get an idea of the capabilities of your hardware.

Demo mode

Demo mode is enabled by passing --mode demo as a command line argument. The demo mode will run in a loop indefinitely, as it is designed to work on stands or showcases. The demo mode supports a combination of --preset midrange/highend and --target arguments. There is no separate support for entry level hardware as it doesn't make sense to run demo mode without IBL lighting and skybox for example.

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.

Do you like it? Share on social networks!

Comments

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

C++ - Тест 003. Условия и циклы

  • Result:85points,
  • Rating points6
в

C++ - Тест 003. Условия и циклы

  • Result:50points,
  • Rating points-4
l

C++ - Test 005. Structures and Classes

  • Result:91points,
  • Rating points8
Last comments
k
kmssrFeb. 9, 2024, 5:43 a.m.
Qt Linux - Lesson 001. Autorun Qt application under Linux как сделать автозапуск для флэтпака, который не даёт создавать файлы в ~/.config - вот это вопрос ))
Qt WinAPI - Lesson 007. Working with ICMP Ping in Qt Без строки #include <QRegularExpressionValidator> в заголовочном файле не работает валидатор.
EVA
EVADec. 25, 2023, 9:30 p.m.
Boost - static linking in CMake project under Windows Ошибка LNK1104 часто возникает, когда компоновщик не может найти или открыть файл библиотеки. В вашем случае, это файл libboost_locale-vc142-mt-gd-x64-1_74.lib из библиотеки Boost для C+…
J
JonnyJoDec. 25, 2023, 7:38 p.m.
Boost - static linking in CMake project under Windows Сделал всё по-как у вас, но выдаёт ошибку [build] LINK : fatal error LNK1104: не удается открыть файл "libboost_locale-vc142-mt-gd-x64-1_74.lib" Хоть убей, не могу понять в чём дел…
G
GvozdikDec. 19, 2023, 8:01 a.m.
Qt/C++ - Lesson 056. Connecting the Boost library in Qt for MinGW and MSVC compilers Для решения твой проблемы добавь в файл .pro строчку "LIBS += -lws2_32" она решит проблему , лично мне помогло.
Now discuss on the forum
AC
Alexandru CodreanuJan. 19, 2024, 10:57 p.m.
QML Обнулить значения SpinBox Доброго времени суток, не могу разобраться с обнулением значение SpinBox находящего в делегате. import QtQuickimport QtQuick.ControlsWindow { width: 640 height: 480 visible: tr…
BlinCT
BlinCTDec. 27, 2023, 7:57 p.m.
Растягивать Image на парент по высоте Ну и само собою дял включения scrollbar надо чтобы был Flickable. Так что выходит как то так Flickable{ id: root anchors.fill: parent clip: true property url linkFile p…
Дмитрий
ДмитрийJan. 10, 2024, 3:18 p.m.
Qt Creator загружает всю оперативную память Проблема решена. Удалось разобраться с помощью утилиты strace. Запустил ее: strace ./qtcreator Начал выводиться весь лог работы креатора. В один момент он начал считывать фай…
Evgenii Legotckoi
Evgenii LegotckoiDec. 12, 2023, 5:48 p.m.
Побуквенное сравнение двух строк Добрый день. Там случайно не высылается этот сигнал textChanged ещё и при форматировани текста? Если решиать в лоб, то можно просто отключать сигнал/слотовое соединение внутри слота и …

Follow us in social networks