8a75b5473542d483e68c8e809d1ecb20faf8388e
Especially on windows, direct output to `cout` via `<<` is very expensive. Instead, use fmtlib to do all formatting into a no-alloc `fmt::memory_buffer`, and output that with one call to `cout`. timeit utilities are not used much by default, but during development or profiling one often uncomments macros like `DEBUG_TIME` that then enable `SCOPED_TIMER` or `SCOPED_TIMER_AVERAGED`. Having one `SCOPED_TIMER_AVERAGED` inside sequencer `draw_channels`, with empty timeline and all default channels; the overhead in % of `draw_channels` duration of said scoped timer before and after this change: - Windows: 29% -> 5% - Mac: 5.0% -> 4.4% Pull Request: https://projects.blender.org/blender/blender/pulls/115233
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
