summaryrefslogtreecommitdiffstats
path: root/core/string
diff options
context:
space:
mode:
Diffstat (limited to 'core/string')
-rw-r--r--core/string/print_string.cpp6
-rw-r--r--core/string/print_string.h10
2 files changed, 11 insertions, 5 deletions
diff --git a/core/string/print_string.cpp b/core/string/print_string.cpp
index 7b894d83bf..7b90710308 100644
--- a/core/string/print_string.cpp
+++ b/core/string/print_string.cpp
@@ -193,10 +193,8 @@ void print_error(String p_string) {
_global_unlock();
}
-void print_verbose(String p_string) {
- if (OS::get_singleton()->is_stdout_verbose()) {
- print_line(p_string);
- }
+bool is_print_verbose_enabled() {
+ return OS::get_singleton()->is_stdout_verbose();
}
String stringify_variants(Variant p_var) {
diff --git a/core/string/print_string.h b/core/string/print_string.h
index 6496384b3f..7656e9bfa1 100644
--- a/core/string/print_string.h
+++ b/core/string/print_string.h
@@ -59,7 +59,15 @@ void remove_print_handler(const PrintHandlerList *p_handler);
extern void __print_line(String p_string);
extern void __print_line_rich(String p_string);
extern void print_error(String p_string);
-extern void print_verbose(String p_string);
+extern bool is_print_verbose_enabled();
+
+// This version avoids processing the text to be printed until it actually has to be printed, saving some CPU usage.
+#define print_verbose(m_text) \
+ { \
+ if (is_print_verbose_enabled()) { \
+ print_line(m_text); \
+ } \
+ }
inline void print_line(Variant v) {
__print_line(stringify_variants(v));