From d8e645c7518270f5e038aab2b8abc8f31b305e9a Mon Sep 17 00:00:00 2001 From: "yuri.benditovich@daynix.com" Date: Sat, 1 Apr 2017 19:40:30 +0300 Subject: [PATCH] qxl-wddm-dod: Introduce TimeMeasurement class for timing debugging In release build this class resolved to empty statements. In debug build it is useful for measurement of execution time. Signed-off-by: Yuri Benditovich Acked-by: Frediano Ziglio --- qxldod/QxlDod.h | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/qxldod/QxlDod.h b/qxldod/QxlDod.h index 45d5691..51c554d 100755 --- a/qxldod/QxlDod.h +++ b/qxldod/QxlDod.h @@ -225,6 +225,41 @@ typedef struct _CURRENT_BDD_MODE } FrameBuffer; } CURRENT_BDD_MODE; +#if DBG +class TimeMeasurement +{ +public: + TimeMeasurement() + { + Start(); + } + void Start() + { + KeQuerySystemTime(&li1); + } + void Stop() + { + KeQuerySystemTime(&li2); + } + ULONG Diff() + { + return (ULONG)((li2.QuadPart - li1.QuadPart) / 10000); + } +protected: + LARGE_INTEGER li1; + LARGE_INTEGER li2; +}; +#else +class TimeMeasurement +{ +public: + TimeMeasurement() {} + void Start() {} + void Stop() {} + ULONG Diff() { return 0; } +}; +#endif + class QxlDod; class HwDeviceInterface {