Added drawing rounded rectangles to the graphics benchmark.
This test is executed together with standard rectangles benchmark and both benchmarks are enabled with '--rectangles' option.
This commit is contained in:
@@ -369,6 +369,7 @@ private:
|
|||||||
BenchmarkLines(msg, dc);
|
BenchmarkLines(msg, dc);
|
||||||
BenchmarkRawBitmaps(msg, dc);
|
BenchmarkRawBitmaps(msg, dc);
|
||||||
BenchmarkRectangles(msg, dc);
|
BenchmarkRectangles(msg, dc);
|
||||||
|
BenchmarkRoundedRectangles(msg, dc);
|
||||||
BenchmarkCircles(msg, dc);
|
BenchmarkCircles(msg, dc);
|
||||||
BenchmarkEllipses(msg, dc);
|
BenchmarkEllipses(msg, dc);
|
||||||
}
|
}
|
||||||
@@ -437,6 +438,36 @@ private:
|
|||||||
opts.numIters, t, (1000. * t)/opts.numIters);
|
opts.numIters, t, (1000. * t)/opts.numIters);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BenchmarkRoundedRectangles(const wxString& msg, wxDC& dc)
|
||||||
|
{
|
||||||
|
if ( !opts.testRectangles )
|
||||||
|
return;
|
||||||
|
|
||||||
|
if ( opts.mapMode != 0 )
|
||||||
|
dc.SetMapMode((wxMappingMode)opts.mapMode);
|
||||||
|
if ( opts.penWidth != 0 )
|
||||||
|
dc.SetPen(wxPen(*wxWHITE, opts.penWidth));
|
||||||
|
|
||||||
|
dc.SetBrush( *wxCYAN_BRUSH );
|
||||||
|
|
||||||
|
wxPrintf("Benchmarking %s: ", msg);
|
||||||
|
fflush(stdout);
|
||||||
|
|
||||||
|
wxStopWatch sw;
|
||||||
|
for ( int n = 0; n < opts.numIters; n++ )
|
||||||
|
{
|
||||||
|
int x = rand() % opts.width,
|
||||||
|
y = rand() % opts.height;
|
||||||
|
|
||||||
|
dc.DrawRoundedRectangle(x, y, 48, 32, 8);
|
||||||
|
}
|
||||||
|
|
||||||
|
const long t = sw.Time();
|
||||||
|
|
||||||
|
wxPrintf("%ld rounded rects done in %ldms = %gus/rect\n",
|
||||||
|
opts.numIters, t, (1000. * t)/opts.numIters);
|
||||||
|
}
|
||||||
|
|
||||||
void BenchmarkCircles(const wxString& msg, wxDC& dc)
|
void BenchmarkCircles(const wxString& msg, wxDC& dc)
|
||||||
{
|
{
|
||||||
if ( !opts.testCircles )
|
if ( !opts.testCircles )
|
||||||
|
Reference in New Issue
Block a user