diff options
Diffstat (limited to 'test/uitests')
| -rw-r--r-- | test/uitests/benchmarktest.cc | 34 | 
1 files changed, 33 insertions, 1 deletions
| diff --git a/test/uitests/benchmarktest.cc b/test/uitests/benchmarktest.cc index 33defc6..aaf3946 100644 --- a/test/uitests/benchmarktest.cc +++ b/test/uitests/benchmarktest.cc @@ -37,11 +37,16 @@ class TimedCanvas  	: public GUI::Canvas  {  public: -	GUI::PixelBufferAlpha& GetPixelBuffer() override +	GUI::PixelBufferAlpha& getPixelBuffer() override  	{  		return pixbuf;  	} +	void resize(std::size_t width, std::size_t height) +	{ +		pixbuf.realloc(width, height); +	} +  private:  	GUI::PixelBufferAlpha pixbuf{800, 600};  }; @@ -84,6 +89,33 @@ int main()  	GUI::Image image_inner_alpha(":benchmarktest_resources/image_inner_alpha.png");  	{ +		TimedCanvas canvas; +		TimedScope timed("Pixelbuffer resize", 100000); +		painter.setColour(GUI::Colour(1.f, 1.f, 1.f, 1.f)); +		for(int i = 0; i < 100000; ++i) +		{ +			canvas.resize(i % 1000 + 100, i % 1000 + 100); +		} +	} + +	{ +		TimedScope timed("Filled rect, no alpha", 100000); +		for(int i = 0; i < 100000; ++i) +		{ +			painter.drawRectangle(0, 0, 800, 600); +		} +	} + +	{ +		TimedScope timed("Filled rect, with alpha", 100000); +		painter.setColour(GUI::Colour(1.f, 1.f, 1.f, 0.5f)); +		for(int i = 0; i < 100000; ++i) +		{ +			painter.drawRectangle(0, 0, 800, 600); +		} +	} + +	{  		TimedScope timed("No scale, no alpha", 100000);  		for(int i = 0; i < 100000; ++i)  		{ | 
