diff --git a/tests/benchmarks/Makefile.in b/tests/benchmarks/Makefile.in
index 401b6e54b8..ab8a00ec9d 100644
--- a/tests/benchmarks/Makefile.in
+++ b/tests/benchmarks/Makefile.in
@@ -64,6 +64,7 @@ BENCH_GUI_CXXFLAGS = -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
BENCH_GUI_OBJECTS = \
$(__bench_gui___win32rc) \
bench_gui_bench.o \
+ bench_gui_display.o \
bench_gui_image.o
BENCH_GRAPHICS_CXXFLAGS = -D__WX$(TOOLKIT)__ $(__WXUNIV_DEFINE_p) \
$(__DEBUG_DEFINE_p) $(__EXCEPTIONS_DEFINE_p) $(__RTTI_DEFINE_p) \
@@ -306,6 +307,9 @@ bench_gui_sample_rc.o: $(srcdir)/../../samples/sample.rc
bench_gui_bench.o: $(srcdir)/bench.cpp
$(CXXC) -c -o $@ $(BENCH_GUI_CXXFLAGS) $(srcdir)/bench.cpp
+bench_gui_display.o: $(srcdir)/display.cpp
+ $(CXXC) -c -o $@ $(BENCH_GUI_CXXFLAGS) $(srcdir)/display.cpp
+
bench_gui_image.o: $(srcdir)/image.cpp
$(CXXC) -c -o $@ $(BENCH_GUI_CXXFLAGS) $(srcdir)/image.cpp
diff --git a/tests/benchmarks/bench.bkl b/tests/benchmarks/bench.bkl
index acf774a861..f3efa94295 100644
--- a/tests/benchmarks/bench.bkl
+++ b/tests/benchmarks/bench.bkl
@@ -36,6 +36,7 @@
bench.cpp
+ display.cpp
image.cpp
core
diff --git a/tests/benchmarks/bench_vc7_bench_gui.vcproj b/tests/benchmarks/bench_vc7_bench_gui.vcproj
index 6556d7d2cf..d5393ca7ff 100644
--- a/tests/benchmarks/bench_vc7_bench_gui.vcproj
+++ b/tests/benchmarks/bench_vc7_bench_gui.vcproj
@@ -286,6 +286,9 @@
+
+
diff --git a/tests/benchmarks/bench_vc8_bench_gui.vcproj b/tests/benchmarks/bench_vc8_bench_gui.vcproj
index 323f786d9f..fe30ed5fd1 100644
--- a/tests/benchmarks/bench_vc8_bench_gui.vcproj
+++ b/tests/benchmarks/bench_vc8_bench_gui.vcproj
@@ -810,6 +810,10 @@
RelativePath=".\bench.cpp"
>
+
+
diff --git a/tests/benchmarks/bench_vc9_bench_gui.vcproj b/tests/benchmarks/bench_vc9_bench_gui.vcproj
index 45fc9f54ac..6f9f17cf00 100644
--- a/tests/benchmarks/bench_vc9_bench_gui.vcproj
+++ b/tests/benchmarks/bench_vc9_bench_gui.vcproj
@@ -782,6 +782,10 @@
RelativePath=".\bench.cpp"
>
+
+
diff --git a/tests/benchmarks/display.cpp b/tests/benchmarks/display.cpp
new file mode 100644
index 0000000000..d9ad2cb7d5
--- /dev/null
+++ b/tests/benchmarks/display.cpp
@@ -0,0 +1,30 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name: tests/benchmarks/display.cpp
+// Purpose: wxDisplay benchmarks
+// Author: Vadim Zeitlin
+// Created: 2018-09-30
+// Copyright: (c) 2018 Vadim Zeitlin
+// Licence: wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#include "wx/display.h"
+#include "wx/gdicmn.h"
+
+#include "bench.h"
+
+BENCHMARK_FUNC(DisplaySize)
+{
+ int w, h;
+ wxDisplaySize(&w, &h);
+ return w > 0;
+}
+
+BENCHMARK_FUNC(GetDisplaySize)
+{
+ return wxGetDisplaySize().x > 0;
+}
+
+BENCHMARK_FUNC(DisplayGetGeometry)
+{
+ return wxDisplay().GetGeometry().GetSize().x > 0;
+}
diff --git a/tests/benchmarks/makefile.bcc b/tests/benchmarks/makefile.bcc
index b34d95adee..be62ce066f 100644
--- a/tests/benchmarks/makefile.bcc
+++ b/tests/benchmarks/makefile.bcc
@@ -54,6 +54,7 @@ BENCH_GUI_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
$(__DLLFLAG_p) -I.\..\..\samples -DNOPCH $(CPPFLAGS) $(CXXFLAGS)
BENCH_GUI_OBJECTS = \
$(OBJS)\bench_gui_bench.obj \
+ $(OBJS)\bench_gui_display.obj \
$(OBJS)\bench_gui_image.obj
BENCH_GRAPHICS_CXXFLAGS = $(__RUNTIME_LIBS) -I$(BCCDIR)\include $(__DEBUGINFO) \
$(__OPTIMIZEFLAG) $(__THREADSFLAG_1) -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
@@ -340,6 +341,9 @@ $(OBJS)\bench_gui_sample.res: .\..\..\samples\sample.rc
$(OBJS)\bench_gui_bench.obj: .\bench.cpp
$(CXX) -q -c -P -o$@ $(BENCH_GUI_CXXFLAGS) .\bench.cpp
+$(OBJS)\bench_gui_display.obj: .\display.cpp
+ $(CXX) -q -c -P -o$@ $(BENCH_GUI_CXXFLAGS) .\display.cpp
+
$(OBJS)\bench_gui_image.obj: .\image.cpp
$(CXX) -q -c -P -o$@ $(BENCH_GUI_CXXFLAGS) .\image.cpp
diff --git a/tests/benchmarks/makefile.gcc b/tests/benchmarks/makefile.gcc
index 54948a8494..6546847f3f 100644
--- a/tests/benchmarks/makefile.gcc
+++ b/tests/benchmarks/makefile.gcc
@@ -49,6 +49,7 @@ BENCH_GUI_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
BENCH_GUI_OBJECTS = \
$(OBJS)\bench_gui_sample_rc.o \
$(OBJS)\bench_gui_bench.o \
+ $(OBJS)\bench_gui_display.o \
$(OBJS)\bench_gui_image.o
BENCH_GRAPHICS_CXXFLAGS = $(__DEBUGINFO) $(__OPTIMIZEFLAG) $(__THREADSFLAG) \
$(GCCFLAGS) -DHAVE_W32API_H -D__WXMSW__ $(__WXUNIV_DEFINE_p) \
@@ -318,6 +319,9 @@ $(OBJS)\bench_gui_sample_rc.o: ./../../samples/sample.rc
$(OBJS)\bench_gui_bench.o: ./bench.cpp
$(CXX) -c -o $@ $(BENCH_GUI_CXXFLAGS) $(CPPDEPS) $<
+$(OBJS)\bench_gui_display.o: ./display.cpp
+ $(CXX) -c -o $@ $(BENCH_GUI_CXXFLAGS) $(CPPDEPS) $<
+
$(OBJS)\bench_gui_image.o: ./image.cpp
$(CXX) -c -o $@ $(BENCH_GUI_CXXFLAGS) $(CPPDEPS) $<
diff --git a/tests/benchmarks/makefile.vc b/tests/benchmarks/makefile.vc
index 784e045c6c..3dbf2a2da8 100644
--- a/tests/benchmarks/makefile.vc
+++ b/tests/benchmarks/makefile.vc
@@ -51,6 +51,7 @@ BENCH_GUI_CXXFLAGS = /M$(__RUNTIME_LIBS_26)$(__DEBUGRUNTIME) /DWIN32 \
/DNOPCH /D_CONSOLE $(__RTTIFLAG) $(__EXCEPTIONSFLAG) $(CPPFLAGS) $(CXXFLAGS)
BENCH_GUI_OBJECTS = \
$(OBJS)\bench_gui_bench.obj \
+ $(OBJS)\bench_gui_display.obj \
$(OBJS)\bench_gui_image.obj
BENCH_GUI_RESOURCES = \
$(OBJS)\bench_gui_sample.res
@@ -512,6 +513,9 @@ $(OBJS)\bench_gui_sample.res: .\..\..\samples\sample.rc
$(OBJS)\bench_gui_bench.obj: .\bench.cpp
$(CXX) /c /nologo /TP /Fo$@ $(BENCH_GUI_CXXFLAGS) .\bench.cpp
+$(OBJS)\bench_gui_display.obj: .\display.cpp
+ $(CXX) /c /nologo /TP /Fo$@ $(BENCH_GUI_CXXFLAGS) .\display.cpp
+
$(OBJS)\bench_gui_image.obj: .\image.cpp
$(CXX) /c /nologo /TP /Fo$@ $(BENCH_GUI_CXXFLAGS) .\image.cpp