Allow running only some graphics benchmarks to save time.

Running all the benchmarks is relatively long, so allow running individual
ones only.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73467 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2013-02-05 20:46:53 +00:00
parent 968b44d37b
commit 51f64663bf

View File

@@ -28,6 +28,10 @@ struct GraphicsBenchmarkOptions
height = 600; height = 600;
numLines = 10000; numLines = 10000;
testBitmaps =
testLines =
testRectangles = false;
} }
long mapMode, long mapMode,
@@ -35,6 +39,10 @@ struct GraphicsBenchmarkOptions
width, width,
height, height,
numLines; numLines;
bool testBitmaps,
testLines,
testRectangles;
} opts; } opts;
class GraphicsBenchmarkFrame : public wxFrame class GraphicsBenchmarkFrame : public wxFrame
@@ -97,6 +105,9 @@ private:
void BenchmarkLines(const char *msg, wxDC& dc) void BenchmarkLines(const char *msg, wxDC& dc)
{ {
if ( !opts.testLines )
return;
if ( opts.mapMode != 0 ) if ( opts.mapMode != 0 )
dc.SetMapMode((wxMappingMode)opts.mapMode); dc.SetMapMode((wxMappingMode)opts.mapMode);
if ( opts.penWidth != 0 ) if ( opts.penWidth != 0 )
@@ -127,6 +138,9 @@ private:
void BenchmarkRectangles(const char *msg, wxDC& dc) void BenchmarkRectangles(const char *msg, wxDC& dc)
{ {
if ( !opts.testRectangles )
return;
if ( opts.mapMode != 0 ) if ( opts.mapMode != 0 )
dc.SetMapMode((wxMappingMode)opts.mapMode); dc.SetMapMode((wxMappingMode)opts.mapMode);
if ( opts.penWidth != 0 ) if ( opts.penWidth != 0 )
@@ -153,6 +167,9 @@ private:
void BenchmarkBitmaps(const char *msg, wxDC& dc) void BenchmarkBitmaps(const char *msg, wxDC& dc)
{ {
if ( !opts.testBitmaps )
return;
if ( opts.mapMode != 0 ) if ( opts.mapMode != 0 )
dc.SetMapMode((wxMappingMode)opts.mapMode); dc.SetMapMode((wxMappingMode)opts.mapMode);
if ( opts.penWidth != 0 ) if ( opts.penWidth != 0 )
@@ -186,6 +203,9 @@ public:
{ {
static const wxCmdLineEntryDesc desc[] = static const wxCmdLineEntryDesc desc[] =
{ {
{ wxCMD_LINE_SWITCH, "", "bitmaps" },
{ wxCMD_LINE_SWITCH, "", "lines" },
{ wxCMD_LINE_SWITCH, "", "rectangles" },
{ wxCMD_LINE_OPTION, "m", "map-mode", "", wxCMD_LINE_VAL_NUMBER }, { wxCMD_LINE_OPTION, "m", "map-mode", "", wxCMD_LINE_VAL_NUMBER },
{ wxCMD_LINE_OPTION, "p", "pen-width", "", wxCMD_LINE_VAL_NUMBER }, { wxCMD_LINE_OPTION, "p", "pen-width", "", wxCMD_LINE_VAL_NUMBER },
{ wxCMD_LINE_OPTION, "w", "width", "", wxCMD_LINE_VAL_NUMBER }, { wxCMD_LINE_OPTION, "w", "width", "", wxCMD_LINE_VAL_NUMBER },
@@ -211,6 +231,17 @@ public:
if ( parser.Found("L", &opts.numLines) && opts.numLines < 1 ) if ( parser.Found("L", &opts.numLines) && opts.numLines < 1 )
return false; return false;
opts.testBitmaps = parser.Found("bitmaps");
opts.testLines = parser.Found("lines");
opts.testRectangles = parser.Found("rectangles");
if ( !(opts.testBitmaps || opts.testLines || opts.testRectangles) )
{
// Do everything by default.
opts.testBitmaps =
opts.testLines =
opts.testRectangles = true;
}
return true; return true;
} }