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
AD

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

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

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

  • Result:80points,
  • Rating points4
m

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

  • Result:20points,
  • Rating points-10
Last comments
ИМ
Игорь МаксимовNov. 22, 2024, 11:51 a.m.
Django - Tutorial 017. Customize the login page to Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii LegotckoiOct. 31, 2024, 2:37 p.m.
Django - Lesson 064. How to write a Python Markdown extension Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZEOct. 19, 2024, 8:19 a.m.
Fb3 file reader on Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь МаксимовOct. 5, 2024, 7:51 a.m.
Django - Lesson 064. How to write a Python Markdown extension Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas5July 5, 2024, 11:02 a.m.
QML - Lesson 016. SQLite database and the working with it in QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Now discuss on the forum
Evgenii Legotckoi
Evgenii LegotckoiJune 24, 2024, 3:11 p.m.
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
t
tonypeachey1Nov. 15, 2024, 6:04 a.m.
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
NSProject
NSProjectJune 4, 2022, 3:49 a.m.
Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
9
9AnonimOct. 25, 2024, 9:10 a.m.
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

Follow us in social networks