]> git.saurik.com Git - wxWidgets.git/commitdiff
Use a non-uniform bitmap for image tests in the graphics benchmark.
authorVadim Zeitlin <vadim@wxwidgets.org>
Tue, 5 Feb 2013 20:47:07 +0000 (20:47 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Tue, 5 Feb 2013 20:47:07 +0000 (20:47 +0000)
This makes it easier to estimate the speed of the display update visually.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73473 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

tests/benchmarks/graphics.cpp

index a5f9a49705efc6864cdeb3c1349e8372aa8c2142..457aa39ade29b349d60cee211827797845e337b5 100644 (file)
@@ -81,6 +81,18 @@ public:
     }
 
 private:
+    // Just change the image in some (quick) way to show that it's really being
+    // updated on screen.
+    void UpdateRGB(unsigned char* data, int n)
+    {
+        for ( int y = 0; y < opts.height; ++y )
+        {
+            memset(data, n % 256, 3*opts.width);
+
+            data += 3*opts.width;
+            n++;
+        }
+    }
     void OnPaint(wxPaintEvent& WXUNUSED(event))
     {
         if ( opts.usePaint )
@@ -233,7 +245,7 @@ private:
         wxStopWatch sw;
         for ( int n = 0; n < opts.numIters; n++ )
         {
-            image.Clear(n % 256);
+            UpdateRGB(image.GetData(), n);
             dc.DrawBitmap(image, 0, 0);
         }
 
@@ -261,7 +273,7 @@ private:
         wxStopWatch sw;
         for ( int n = 0; n < opts.numIters; n++ )
         {
-            const unsigned char c = n % 256;
+            unsigned char c = n % 256;
             {
                 wxNativePixelData::Iterator p(data);
                 for ( int y = 0; y < opts.height; ++y )
@@ -278,6 +290,7 @@ private:
 
                     p = rowStart;
                     p.OffsetY(data, 1);
+                    c++;
                 }
             }