godot_voxel/zprofiling.h

42 lines
704 B
C++

#ifndef VOXEL_PROFILING_H
#define VOXEL_PROFILING_H
#define VOXEL_PROFILING
#ifdef VOXEL_PROFILING
#include <core/dictionary.h>
#include <core/hash_map.h>
#include <core/ustring.h>
#define VOXEL_PROFILE_BEGIN(_key) _zprofiler.begin(_key);
#define VOXEL_PROFILE_END(_key) _zprofiler.end(_key);
class ZProfileVar;
class ZProfiler {
public:
//static ZProfiler & get();
~ZProfiler();
void begin(String key);
void end(String key);
Dictionary get_all_serialized_info() const;
private:
//ZProfiler();
ZProfileVar *get_var(String key);
HashMap<String, ZProfileVar *> _vars;
};
#else
#define VOXEL_PROFILE_BEGIN(_key) //
#define VOXEL_PROFILE_END(_key) //
#endif
#endif // VOXEL_PROFILING_H