behaviour-tree-test/tests
HP van Braam cccd2432c3 Refactor CommandQueueMT to use vararg templates
In order to make CommandQueueMT more maintainable this PR changes the
previous macro hell with variadic templates instead. This makes the
class far more explicit and will allow us to more easily change the way
the class functions in the future.

Furthermore this refactoring has allowed for some optimizations. In
particular by using std::forward to delay the decision of decaying the
type to as late as possible we are able to move the data from the
callsite into our Command buffer and later move it to the call.

In practice what this means is that compared to the old version instead
of copying values 3 times, we can now get away with 1 copy, and 1 move
for lvalues, and just 2 moves for rvalues. This saves quite a few
operations in a hot codepath.

We also now test to make sure that the amount of copies and moves are
what we expect. This way we can spot performance regressions in this
code easily.

Somewhat unscientifically, running TPS-demo by pressing enter and not
touching the controls average mspf, repeatable across many runs:

before: 6.467
after : 6.202
2025-01-02 15:35:08 +01:00
..
core Refactor CommandQueueMT to use vararg templates 2025-01-02 15:35:08 +01:00
data Add half precision floating point support to StreamPeer 2024-11-12 08:46:52 -03:00
python_build SCons: Add method to generate raw cstrings 2024-07-31 14:22:04 -05:00
scene Follow-up of ArrayMesh::surface_remove addition 2024-12-20 10:53:43 +01:00
servers Change default Arabic font to Vazirmatn. 2024-12-05 16:26:52 +02:00
create_test.py [Tests] Improve argument description and snake_case name conversion of test generator script 2024-09-04 16:04:31 +02:00
display_server_mock.h Embedding game process in editor 2024-12-18 17:52:42 -05:00
SCsub SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
test_macros.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
test_macros.h Add tests for Projection 2024-11-27 11:09:10 +01:00
test_main.cpp Embedding game process in editor 2024-12-18 17:52:42 -05:00
test_main.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
test_tools.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
test_utils.cpp Use subfolder for temporary test files 2024-06-05 20:31:42 +02:00
test_utils.h Use subfolder for temporary test files 2024-06-05 20:31:42 +02:00
test_validate_testing.h Add PackedVector4Array Variant type 2024-05-03 00:58:27 +02:00