update with better fps reporting
git-svn-id: http://skia.googlecode.com/svn/trunk@506 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
0c9da393d9
commit
831f6c676f
@ -49,12 +49,23 @@ private:
|
||||
|
||||
class Bitmap_FPSBench : public FPSBench {
|
||||
public:
|
||||
Bitmap_FPSBench(void* p, SkBitmap::Config config, bool doScale) : INHERITED(p) {
|
||||
Bitmap_FPSBench(void* p, SkBitmap::Config config, bool doOpaque, bool doScale) : INHERITED(p) {
|
||||
fBitmap.setConfig(config, this->width(), this->height());
|
||||
fBitmap.allocPixels();
|
||||
fBitmap.eraseColor(0xFFFF0000);
|
||||
if (doOpaque) {
|
||||
fBitmap.setIsOpaque(true);
|
||||
}
|
||||
|
||||
fName.printf("fps_bitmap_%d_%s", fBitmap.bytesPerPixel(),
|
||||
const char* configStr = "565";
|
||||
if (config == SkBitmap::kARGB_8888_Config) {
|
||||
if (doOpaque) {
|
||||
configStr = "X888";
|
||||
} else {
|
||||
configStr = "8888";
|
||||
}
|
||||
}
|
||||
fName.printf("fps_bitmap_%s_%s", configStr,
|
||||
doScale ? "scale" : "noscale");
|
||||
|
||||
fMatrix.reset();
|
||||
@ -79,10 +90,12 @@ private:
|
||||
|
||||
static SkBenchmark* FillFactory(void* p) { return SkNEW_ARGS(Color_FPSBench, (p, 0xFFFF0000, "fps_fill")); }
|
||||
static SkBenchmark* BlendFactory(void* p) { return SkNEW_ARGS(Color_FPSBench, (p, 0x80FF0000, "fps_blend")); }
|
||||
static SkBenchmark* BMFactory0(void* p) { return SkNEW_ARGS(Bitmap_FPSBench, (p, SkBitmap::kARGB_8888_Config, false)); }
|
||||
static SkBenchmark* BMFactory1(void* p) { return SkNEW_ARGS(Bitmap_FPSBench, (p, SkBitmap::kARGB_8888_Config, true)); }
|
||||
static SkBenchmark* BMFactory2(void* p) { return SkNEW_ARGS(Bitmap_FPSBench, (p, SkBitmap::kRGB_565_Config, false)); }
|
||||
static SkBenchmark* BMFactory3(void* p) { return SkNEW_ARGS(Bitmap_FPSBench, (p, SkBitmap::kRGB_565_Config, true)); }
|
||||
static SkBenchmark* BMFactory0(void* p) { return SkNEW_ARGS(Bitmap_FPSBench, (p, SkBitmap::kARGB_8888_Config, false, false)); }
|
||||
static SkBenchmark* BMFactory1(void* p) { return SkNEW_ARGS(Bitmap_FPSBench, (p, SkBitmap::kARGB_8888_Config, false, true)); }
|
||||
static SkBenchmark* BMFactory2(void* p) { return SkNEW_ARGS(Bitmap_FPSBench, (p, SkBitmap::kARGB_8888_Config, true, false)); }
|
||||
static SkBenchmark* BMFactory3(void* p) { return SkNEW_ARGS(Bitmap_FPSBench, (p, SkBitmap::kARGB_8888_Config, true, true)); }
|
||||
static SkBenchmark* BMFactory4(void* p) { return SkNEW_ARGS(Bitmap_FPSBench, (p, SkBitmap::kRGB_565_Config, false, false)); }
|
||||
static SkBenchmark* BMFactory5(void* p) { return SkNEW_ARGS(Bitmap_FPSBench, (p, SkBitmap::kRGB_565_Config, false, true)); }
|
||||
|
||||
static BenchRegistry gFillReg(FillFactory);
|
||||
static BenchRegistry gBlendReg(BlendFactory);
|
||||
@ -90,4 +103,6 @@ static BenchRegistry gBMReg0(BMFactory0);
|
||||
static BenchRegistry gBMReg1(BMFactory1);
|
||||
static BenchRegistry gBMReg2(BMFactory2);
|
||||
static BenchRegistry gBMReg3(BMFactory3);
|
||||
static BenchRegistry gBMReg4(BMFactory4);
|
||||
static BenchRegistry gBMReg5(BMFactory5);
|
||||
|
||||
|
@ -172,8 +172,10 @@ static const struct {
|
||||
} gConfigs[] = {
|
||||
{ SkBitmap::kARGB_8888_Config, "8888" },
|
||||
{ SkBitmap::kRGB_565_Config, "565", },
|
||||
#if 0
|
||||
{ SkBitmap::kARGB_4444_Config, "4444", },
|
||||
{ SkBitmap::kA8_Config, "A8", }
|
||||
#endif
|
||||
};
|
||||
|
||||
static int findConfig(const char config[]) {
|
||||
@ -370,9 +372,10 @@ int main (int argc, char * const argv[]) {
|
||||
}
|
||||
}
|
||||
if (repeatDraw > 1) {
|
||||
double duration = SkTime::GetMSecs() - now;
|
||||
SkString str;
|
||||
str.printf(" %4s:%7.2f", configName,
|
||||
(SkTime::GetMSecs() - now) / (double)repeatDraw);
|
||||
str.printf(" %4s: msecs = %7.2f, fps = %7.2f", configName,
|
||||
duration / repeatDraw, repeatDraw * 1000.0 / duration);
|
||||
log_progress(str);
|
||||
}
|
||||
if (outDir.size() > 0) {
|
||||
|
Loading…
Reference in New Issue
Block a user