diff options
| author | Bent Bisballe Nyeng <deva@aasimon.org> | 2020-02-29 12:01:23 +0100 | 
|---|---|---|
| committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2020-03-07 19:07:01 +0100 | 
| commit | 450e39c5b02ace3c50d116e4cba825ff695c8665 (patch) | |
| tree | 2c8937267858a2cf5d44e0d1ae0308210e00c678 | |
| parent | 0ea8c2f03ffacecb1b02aad4416ae52eb69aa5a1 (diff) | |
Benchmark test alpha vs. no-alpha with both partial inner and edge alpha and stretched vs. no
stretched.
| -rw-r--r-- | test/uitests/Makefile.am | 10 | ||||
| -rw-r--r-- | test/uitests/benchmarktest.cc | 93 | ||||
| -rw-r--r-- | test/uitests/benchmarktest_resources/image_edge_alpha.png | bin | 0 -> 2196 bytes | |||
| -rw-r--r-- | test/uitests/benchmarktest_resources/image_full_alpha.png | bin | 0 -> 740 bytes | |||
| -rw-r--r-- | test/uitests/benchmarktest_resources/image_inner_alpha.png | bin | 0 -> 2712 bytes | |||
| -rw-r--r-- | test/uitests/benchmarktest_resources/image_no_alpha.png | bin | 0 -> 643 bytes | 
6 files changed, 94 insertions, 9 deletions
| diff --git a/test/uitests/Makefile.am b/test/uitests/Makefile.am index e85190f..c47af23 100644 --- a/test/uitests/Makefile.am +++ b/test/uitests/Makefile.am @@ -37,6 +37,15 @@ framewidgettest_SOURCES = \  	framewidgettest.cc \  	$(top_srcdir)/hugin/hugin.c +RES = \ +	benchmarktest_resources/image_no_alpha.png \ +	benchmarktest_resources/image_full_alpha.png \ +	benchmarktest_resources/image_edge_alpha.png \ +	benchmarktest_resources/image_inner_alpha.png + +benchmarktest_resource_data.cc : $(top_srcdir)/plugingui/rcgen $(RES) +	$(top_srcdir)/plugingui/rcgen $(RES) > benchmarktest_resource_data.cc +  benchmarktest_LDADD = \  	$(top_srcdir)/plugingui/libdggui.la $(top_srcdir)/src/libdg.la  benchmarktest_CXXFLAGS = \ @@ -45,4 +54,5 @@ benchmarktest_CXXFLAGS = \  	-I$(top_srcdir)/hugin  benchmarktest_SOURCES = \  	benchmarktest.cc \ +	benchmarktest_resource_data.cc \  	$(top_srcdir)/hugin/hugin.c diff --git a/test/uitests/benchmarktest.cc b/test/uitests/benchmarktest.cc index c304877..b240388 100644 --- a/test/uitests/benchmarktest.cc +++ b/test/uitests/benchmarktest.cc @@ -78,29 +78,104 @@ int main()  {  	TimedCanvas canvas;  	GUI::Painter painter(canvas); -	GUI::Image image(":resources/bg.png"); +	GUI::Image image_no_alpha(":benchmarktest_resources/image_no_alpha.png"); +	GUI::Image image_full_alpha(":benchmarktest_resources/image_full_alpha.png"); +	GUI::Image image_edge_alpha(":benchmarktest_resources/image_edge_alpha.png"); +	GUI::Image image_inner_alpha(":benchmarktest_resources/image_inner_alpha.png");  	{ -		TimedScope timed("No scale", 10000); -		for(int i = 0; i < 10000; ++i) +		TimedScope timed("No scale, no alpha", 100000); +		for(int i = 0; i < 100000; ++i)  		{ -			painter.drawImage(0, 0, image); +			painter.drawImage(0, 0, image_no_alpha);  		}  	}  	{ -		TimedScope timed("Scaled 1:1", 2000); -		for(int i = 0; i < 2000; ++i) +		TimedScope timed("No scale, full alpha", 1000); +		for(int i = 0; i < 1000; ++i) +		{ +			painter.drawImage(0, 0, image_full_alpha); +		} +	} + +	{ +		TimedScope timed("No scale, edge alpha", 1000); +		for(int i = 0; i < 1000; ++i) +		{ +			painter.drawImage(0, 0, image_edge_alpha); +		} +	} + +	{ +		TimedScope timed("No scale, inner alpha", 1000); +		for(int i = 0; i < 1000; ++i) +		{ +			painter.drawImage(0, 0, image_inner_alpha); +		} +	} + +	{ +		TimedScope timed("Scaled 1:1 no alpha", 1000); +		for(int i = 0; i < 1000; ++i) +		{ +			painter.drawImageStretched(0, 0, image_no_alpha, 370, 330); +		} +	} + +	{ +		TimedScope timed("Scaled 1:1 full alpha", 1000); +		for(int i = 0; i < 1000; ++i) +		{ +			painter.drawImageStretched(0, 0, image_full_alpha, 370, 330); +		} +	} + +	{ +		TimedScope timed("Scaled 1:1 edge alpha", 1000); +		for(int i = 0; i < 1000; ++i) +		{ +			painter.drawImageStretched(0, 0, image_edge_alpha, 370, 330); +		} +	} + +	{ +		TimedScope timed("Scaled 1:1 inner alpha", 1000); +		for(int i = 0; i < 1000; ++i) +		{ +			painter.drawImageStretched(0, 0, image_inner_alpha, 370, 330); +		} +	} + +	{ +		TimedScope timed("Scaled to window, no alpha", 1000); +		for(int i = 0; i < 1000; ++i) +		{ +			painter.drawImageStretched(0, 0, image_no_alpha, 800, 600); +		} +	} + +	{ +		TimedScope timed("Scaled to window, full alpha", 1000); +		for(int i = 0; i < 1000; ++i) +		{ +			painter.drawImageStretched(0, 0, image_full_alpha, 800, 600); +		} +	} + +	{ +		TimedScope timed("Scaled to window, edge alpha", 1000); +		for(int i = 0; i < 1000; ++i)  		{ -			painter.drawImageStretched(0, 0, image, 370, 330); +			painter.drawImageStretched(0, 0, image_edge_alpha, 800, 600);  		}  	}  	{ -		TimedScope timed("Scaled to window", 1000); +		TimedScope timed("Scaled to window, inner alpha", 1000);  		for(int i = 0; i < 1000; ++i)  		{ -			painter.drawImageStretched(0, 0, image, 800, 6000); +			painter.drawImageStretched(0, 0, image_inner_alpha, 800, 600);  		}  	} diff --git a/test/uitests/benchmarktest_resources/image_edge_alpha.png b/test/uitests/benchmarktest_resources/image_edge_alpha.pngBinary files differ new file mode 100644 index 0000000..c8ee0fc --- /dev/null +++ b/test/uitests/benchmarktest_resources/image_edge_alpha.png diff --git a/test/uitests/benchmarktest_resources/image_full_alpha.png b/test/uitests/benchmarktest_resources/image_full_alpha.pngBinary files differ new file mode 100644 index 0000000..84bd697 --- /dev/null +++ b/test/uitests/benchmarktest_resources/image_full_alpha.png diff --git a/test/uitests/benchmarktest_resources/image_inner_alpha.png b/test/uitests/benchmarktest_resources/image_inner_alpha.pngBinary files differ new file mode 100644 index 0000000..9392653 --- /dev/null +++ b/test/uitests/benchmarktest_resources/image_inner_alpha.png diff --git a/test/uitests/benchmarktest_resources/image_no_alpha.png b/test/uitests/benchmarktest_resources/image_no_alpha.pngBinary files differ new file mode 100644 index 0000000..4995156 --- /dev/null +++ b/test/uitests/benchmarktest_resources/image_no_alpha.png | 
