diff options
author | William Leeson <leesonw> | 2021-11-12 12:01:23 +0300 |
---|---|---|
committer | William Leeson <william@blender.org> | 2021-11-12 12:16:01 +0300 |
commit | 456876208b16710318a4576b9b7554abc4fa1125 (patch) | |
tree | 90fdd9b0894dae9431e9470789535aeb3f4a07b4 /intern/cycles/util | |
parent | 1061f5a1bab9b65702d90706eb1b3d383984d0fb (diff) |
Fix T92601: Disable profiling when the profiler is deemed not active.
Adds a method to profiler that can be used to check if it is active.
This is used to determine if stop_profiling and start_profiling
should be called.
| patch | Juans Scene UI 256 samples | Juans Scene bg 256 samples | junkshop UI | junkshop bg |
| No patch | 6:16.59 | 4:05.37 | 2:08.48 | 1:59.7 |
| D13187 | 4:12.15 | 3:57.36 | 2:07.25 | 1:58.16 |
| D13185 | 4.11.18 |3:54.74 | 2:07.44 | 1:58.03 |
| D13190 | 4:12.39 | 3:55.42 | 2:07.62 | 1:58.68 |
UI - means rendered from within Blender
bg - means rendered from the command line using ##blender -b scene.blend -f 1##
Reviewed By: sergey, brecht
Maniphest Tasks: T92601
Differential Revision: https://developer.blender.org/D13190
Diffstat (limited to 'intern/cycles/util')
-rw-r--r-- | intern/cycles/util/profiling.cpp | 5 | ||||
-rw-r--r-- | intern/cycles/util/profiling.h | 2 |
2 files changed, 7 insertions, 0 deletions
diff --git a/intern/cycles/util/profiling.cpp b/intern/cycles/util/profiling.cpp index 55b35b7320f..d6df1b0b807 100644 --- a/intern/cycles/util/profiling.cpp +++ b/intern/cycles/util/profiling.cpp @@ -171,4 +171,9 @@ bool Profiler::get_object(int object, uint64_t &samples, uint64_t &hits) return true; } +bool Profiler::active() const +{ + return (worker != nullptr); +} + CCL_NAMESPACE_END diff --git a/intern/cycles/util/profiling.h b/intern/cycles/util/profiling.h index b30aac90879..4ced1d90371 100644 --- a/intern/cycles/util/profiling.h +++ b/intern/cycles/util/profiling.h @@ -96,6 +96,8 @@ class Profiler { bool get_shader(int shader, uint64_t &samples, uint64_t &hits); bool get_object(int object, uint64_t &samples, uint64_t &hits); + bool active() const; + protected: void run(); |