summaryrefslogtreecommitdiffstats
path: root/tests/benchmarks
Commit message (Collapse)AuthorAgeFilesLines
* Remove wince check as it is not supportedOliver Wolff2018-11-221-1/+1
| | | | | Change-Id: I4f12b9d823d8468b3a66de0242a5a6d6de27d702 Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
* MaterialParameterGathererJob: remove unneeded renderer memberPaul Lemire2018-03-191-1/+0
| | | | | Change-Id: I05bef741048fbb29fab261b48f48a20d1d131bcc Reviewed-by: Mike Krus <mike.krus@kdab.com>
* Merge branch '5.9' into 5.10Sean Harmer2018-01-121-6/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf src/animation/backend/handle_types_p.h src/extras/defaults/qtexturematerial.h src/render/backend/entity_p.h src/render/backend/handle_types_p.h src/render/backend/renderview.cpp src/render/io/scenemanager.cpp Change-Id: Ic145062cc98360e9067fd60f0992c7a6b51e41bb
| * Get rid of the INDEXBITS template argument for QHandleLars Knoll2017-12-131-6/+6
| | | | | | | | | | | | | | | | | | It's not required anymore, as the resource manager can grow as needed. Change-Id: If509de7f2ef90e1af9729d8fc60d7ecb08ede687 Reviewed-by: Svenn-Arne Dragly <svenn-arne.dragly@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Merge remote-tracking branch 'origin/5.9' into 5.10Svenn-Arne Dragly2017-11-151-1/+6
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/render/backend/abstractrenderer_p.h src/render/backend/layer.cpp src/render/backend/layer_p.h src/render/backend/render-backend.pri src/render/backend/renderer_p.h src/render/backend/renderviewbuilder.cpp tests/auto/render/renderer/tst_renderer.cpp tests/auto/render/renderviewbuilder/tst_renderviewbuilder.cpp Change-Id: I5c1b649052992e1b3483d549ddc188c8450e927f
| * Rework resource handlingLars Knoll2017-11-071-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rework the way the QResourceManager allocates and manages it's resources. Get rid of the huge pre-allocated freelist, and instead merge it with the counter field (that is now always a quintptr large). Give QHandle a direct pointer to it's data in addition to the counter. This makes QHandle 8 or 16 bytes large, but speeds up access to it's data and gives more safety on the counter as that one now always has at least 31 bits. Counter and the linked freelist use the same memory location. To avoid potential conflicts, make sure the counter is always an odd number, so it can't be a valid pointer. Do not use INDEXBITS anymore, the resource manager can now always allocate as many resources as we have RAM available and will grow with the required use (and not allocate fixed memory upfront). This change reduces the memory consumption of the qardboard example from a bit above 40 to 10MB. Change-Id: I514f2d3f957f8635098fb88342e42e3361456340 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Update to new QRandomGenerator APIv5.10.0-beta4Thiago Macieira2017-11-031-1/+1
| | | | | | | | | | Change-Id: I69f37f9304f24709a823fffd14e676c097712329 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Merge branch '5.9' into 5.10Sean Harmer2017-09-122-38/+12
|\| | | | | | | Change-Id: Id6a3d4ec579a2f2a2e559c22a2293d0e184f0bdf
| * Get rid of the HandleManager classLars Knoll2017-09-112-2/+2
| | | | | | | | | | | | | | | | | | Instead, direclty use the Allocator to acquire and release handles without an additional indirection. This removes around 30% of the overhead in run(). Change-Id: Ic4a9343dd52a900eb1c7eb6b4135bc7670076df1 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
| * Remove ArrayPreallocationPolicyLars Knoll2017-09-111-37/+11
| | | | | | | | | | | | | | It's not used anywhere Change-Id: Id65ec9fc8e38697c0dbd23fe4f816e1637a22483 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Fix and improve layer filteringPaul Lemire2017-08-181-25/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now handle the case where multiple LayerFilter nodes are nested within the same FrameGraphBranch. We also have improved the Accept/Discard into Accept Any/All and Discard Any/All which should now handle all filtering cases. We now build a list of layerIds stored into Entity based on the recursive flags on the layers being set. This allows to make layer filtering simpler but the layerIds list building step will need to be improved as a follow up commit Unit tests updated Change-Id: I93451493e41c6c9486defa7e88eaee073a9bc932 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Allow to disable aspects at configure timePaul Lemire2017-08-021-2/+5
| | | | | | | | | | | | | | | | | | This allows to remove dependencies and reduce deployment size when a given aspect is not required. Change-Id: I5aa90e4825b375cd446c47727aa11d03c40703c9 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* | Use QRandomGenerator instead of q?randThiago Macieira2017-06-301-2/+2
|/ | | | | Change-Id: Icd0e0d4b27cb4e5eb892fffd14b5285d43f4afbf Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add benchmark for MaterialParameterGathererJobPaul Lemire2016-12-133-1/+157
| | | | | Change-Id: I9c334605df7de650e94b26559a300fa4ae42271d Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* FilterLayerEntityJob: add benchmarkPaul Lemire2016-11-233-1/+206
| | | | | | Change-Id: Iaba592f39de968021602c1505d8819e995915a53 Reviewed-by: Paul Lemire <paul.lemire@kdab.com> Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com>
* Rename FramePreparationJob to UpdateShaderDataTransformJobPaul Lemire2016-10-121-2/+2
| | | | | | | | | | Currently the FramePreparationJob updates shader data transforms and looks for meshes that needs to be converted to triangles for picking. These are two distinct processings that could take place concurrently. This is a first part of the split required to do so. Change-Id: I1dabf04c0498b9d092ca48343e8572b471ce86c4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Adjust to qtConfig() changes in qtbaseLiang Qi2016-08-211-1/+1
| | | | | Change-Id: Ic5b9447ef9ba54124553775b973d616af22b7032 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* QRenderAspect: remove unused allocatorsPaul Lemire2016-07-051-3/+1
| | | | | | | | They may be reintroduced later if it appears to be a bottleneck, but it's clearly not at this point. Change-Id: I74009a9e75fba8e95b1d6c5cf562cfba3fc567f0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename UpdateBoundingVolumeJob -> ExpandBoundingVolumeJobPaul Lemire2016-07-041-2/+2
| | | | | | | | | As this is what it really does. The update bounding part is actually done by the UpdateWorldTransformJob at the moment. This will be split and should allow much better parallelizing of the tasks. Change-Id: Iac31cc3a1029a50fae777f3edd3dc1667eb60b8e Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move jobs into RendererPaul Lemire2016-07-031-10/+10
| | | | | | | | Will make it easier to set dependencies between all the jobs in a RenderView since they have been split up in several. Change-Id: I88db66998eb359768e251596828057c40deba88f Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Avoid changing access rights to virtual methodsMike Krus2016-05-232-77/+89
| | | | | | | | Added QRenderAspectTester as friend for testing Task-number: QTBUG-53569 Change-Id: Ia7adde188065a2ba02b7fd480fcfe545ccbf4720 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Update docs/examples: QClearBuffer -> QClearBuffersWieland Hagen2016-05-041-4/+4
| | | | | Change-Id: I85b8892e0980d001dcdeaf1741c1c0cc529da4a2 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* QAbstractAspect: remove all traces of cloningPaul Lemire2016-05-011-7/+7
| | | | | Change-Id: I9ff89f440d91740a9d9e163707d87ad13022e51b Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move defaults and geometries out of Qt3DRender and into Qt3DExtrasPaul Lemire2016-04-232-7/+7
| | | | | | | QBoundingVolumeDebug has been disabled for now. Will be re-enabled later on. Change-Id: Id6b0abab2ec2aa697330bd20d782f9d104d25d50 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Hook up some machinery ready for testing the no cloning approachSean Harmer2016-03-221-5/+10
| | | | | | Task-number: QTBUG-51835 Change-Id: I4520bf38acc9b8a990d3f3bce3d96f2014c5637b Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Remove QAbstractAspect::onRootEntityChangedSean Harmer2016-03-171-5/+5
| | | | | | | | No longer needed, as we can do all needed in onEngineStartup(). Task-number: QTBUG-51421 Change-Id: I64487b9f118aaad073e4e060bc5fd36f3a6dd16a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QAnnotation changesFranck Arrecot2016-03-172-4/+4
| | | | | | Task-number: QTBUG-51454 Change-Id: Iee08f6b1be39894c40926afb20e003d46bc735f4 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename QAbstractAspect::onInitialized() to onRegistered()Sean Harmer2016-03-161-1/+1
| | | | | | | | | This is the first step in reworking the startup/shutdown code to simplify it and provide a more symmetric API. Task-number: QTBUG-51421 Change-Id: Ib06be1e7adb3f3d52b31d5e0a1ec598f39543f9a Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Drop QFrameGraph in favor of QRenderSettingsWieland Hagen2016-03-091-5/+4
| | | | | | | | | QFrameGraph did store just the Frame Graph Root, and was not configurable at runtime. This functionality has been moved to QRenderSettings. The renderer now gets the scene graph root directly from QRenderSettings. Change-Id: I3012eb96b8073717f96f5e42374859a3f4a89bfc Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Follow API changes in PolygonOffset.Volker Krause2016-03-031-1/+1
| | | | | Change-Id: I3a279ec603bb69dec423a80db9ebb652bd458cce Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Unify license header usageAntti Kokko2016-01-2618-247/+135
| | | | | | | | Updated license headers to use new GPL-EXCEPT header instead of LGPL3 one (in those files which will be under GPL 3 with exceptions) Change-Id: I930c6234bfe720d38c596bbc3d1f39be75a7328b Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* QAspectEngine/QAbstractAspects: get rid of setDataPaul Lemire2016-01-221-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Getting rid of set data and the refactoring on setting the surface implies that: - Given the FrameGraph configuration, there may be several RenderViews each having a different RenderSurfaceSelector/Window - This means that the Renderer/QRenderAspect can't know about the surface before reading the scene - This means that the Renderer may be dealing with more than 1 window - This means that initialization, render and shutdown procedures will have to be updated accordingly Therefore the Renderer was refactored to: - Be initialized without knowing about a surface - For each RenderView, check the surface and if different from the previous one: * Make the context current with it * Create the appropriate glHelpers (as Surfaces may have != formats) TO DO: - Fix picking - Fix windows exposition - Fix shutdown / detection of all windows beging closed Change-Id: I49d070b05f46be4b26cfb57e494feba145d1da9c Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move QCamera/QCameraLens to Qt3DRenderPaul Lemire2016-01-161-2/+2
| | | | | | | | Also get rid of Qt3DRender::QWindow and of the hard codes camera controller. Change-Id: I307735d01caf97b7a690b28de8dc99fc9866c35f Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Make QBackendNodeFactory privateKevin Ottens2015-12-171-1/+1
| | | | | Change-Id: I0edb9fb0444d8a4a9b77550d5dd32d36d501683c Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move services() and jobManager() to the pimplKevin Ottens2015-12-171-12/+12
| | | | | | | This way we avoid leaking private types through public API. Change-Id: Ifb30d7e57d8b995bba8cf9a95ae77f8d7818d79a Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move QAbstractAspect::registerAspect() to the pimplKevin Ottens2015-12-171-6/+6
| | | | | Change-Id: Iabc9afe59052e69725a82fb6bdb42f0dfae7fc91 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Remove QAbstractAspect::setRootEntityKevin Ottens2015-12-171-9/+7
| | | | | | | We switch to a more resilient private virtual instead. Change-Id: I90710c7873571ca0a40f7cc939282344b20a59f0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Make QFrameAllocator privateKevin Ottens2015-12-082-2/+2
| | | | | Change-Id: Id69a161da691322184d8ec5ed7a1b375cf2038ed Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Make QNodeVisitor privateKevin Ottens2015-12-031-1/+1
| | | | | Change-Id: Ie36f6f170b5b627d0ed371bcd1a8dc292e7226b3 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QRenderAspect/Renderer: refactored to use the AbstractRenderer interfacePaul Lemire2015-11-241-6/+7
| | | | | Change-Id: I662577e6dd337b1f056f73b4a11262e902d4dde2 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* jobs benchmarksPaul Lemire2015-11-244-1/+400
| | | | | Change-Id: I0585281d2ba3e109b8ab8e45762e5101f7ea2163 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* d-pointer classes, private/public changesTomi Korpipää2015-10-301-1/+1
| | | | | | Change-Id: I4ca133aebad0c088296ab293f95f0a6d76d18395 Task-number: QTBUG-39946 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Shadow version of benchmarking appMika Salmela2015-10-2915-31/+668
| | | | | | | | Added shadows to benchmarking test application to test two pass rendering performance. Change-Id: I81bb6e9fea32ab70d6c5c65a9ba787d976e2eaa0 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Move Qt3DCore into Qt3DCore namespaceSean Harmer2015-10-134-19/+19
| | | | | | | Update other aspects, tests and examples accordingly. Change-Id: Ib1bcf0bdf4f5aec4422dc0c80bfc32b27fb1a317 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Fix build errors on OS X 10.8Andy Nichols2015-08-171-0/+1
| | | | | | | | | | error: no member named 'srand' in namespace 'std' when <cstdlib> is not included. Using int instead of bool in tst_raycasting Change-Id: I03bc669a2a3683376523a25e854e485c6ba0e0c5 Reviewed-by: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
* Benchmarking app for massive data setsMika Salmela2015-08-047-0/+360
| | | | | | | | Initial version of app for testing massive data sets. Sets up a scene with lots of spheres. Change-Id: Ibed8979ef9931c0c2be5e6e26b429d11010a701c Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Skip benchmark on WinCE for nowLaszlo Agocs2015-02-141-1/+1
| | | | | | | | | | | Some of them do not compile: tst_bench_qresourcesmanager.cpp(115) : error C2039: 'time' : is not a member of 'std' For now let's just skip them in wince builds. Change-Id: Id58ef24431abeb2916836e7ab5a9a05f8c8eeb01 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Copyright header change.Mika Salmela2015-02-094-76/+56
| | | | | | | | As for preparation for Qt5.5 release the copyright header is updated to correspond the current license requirements. Change-Id: I36632918b66f455539453b42c369689fb11298ec Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Make QCircularBuffer and QBoundedCircularBuffer privateSean Harmer2014-11-192-2/+2
| | | | | Change-Id: I298fbaf819a118a5da4453082ec7f1484835480a Reviewed-by: Paul Lemire <paul.lemire@kdab.com>
* Rename QResourcesManager -> QResourceManager and make privateSean Harmer2014-11-184-24/+24
| | | | | | | | Once we are happy with the API we can make this public for a future release. Change-Id: I914f087e10adddbadac1649a8b889b9f53f82fd2 Reviewed-by: Paul Lemire <paul.lemire@kdab.com>