Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(38)

Side by Side Diff: bench/nanobench.cpp

Issue 1641663002: Stop testing SkImageDecoder in DM/nanobench (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Reblacklist some interlaced images Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « bench/DecodingBench.cpp ('k') | dm/DM.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2014 Google Inc. 2 * Copyright 2014 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #include <ctype.h> 8 #include <ctype.h>
9 9
10 #include "nanobench.h" 10 #include "nanobench.h"
11 11
12 #include "Benchmark.h" 12 #include "Benchmark.h"
13 #include "BitmapRegionDecoderBench.h" 13 #include "BitmapRegionDecoderBench.h"
14 #include "CodecBench.h" 14 #include "CodecBench.h"
15 #include "CodecBenchPriv.h" 15 #include "CodecBenchPriv.h"
16 #include "CrashHandler.h" 16 #include "CrashHandler.h"
17 #include "DecodingBench.h"
18 #include "GMBench.h" 17 #include "GMBench.h"
19 #include "ProcStats.h" 18 #include "ProcStats.h"
20 #include "ResultsWriter.h" 19 #include "ResultsWriter.h"
21 #include "RecordingBench.h" 20 #include "RecordingBench.h"
22 #include "SKPAnimationBench.h" 21 #include "SKPAnimationBench.h"
23 #include "SKPBench.h" 22 #include "SKPBench.h"
24 #include "Stats.h" 23 #include "Stats.h"
25 24
26 #include "SkBitmapRegionDecoder.h" 25 #include "SkBitmapRegionDecoder.h"
27 #include "SkBBoxHierarchy.h" 26 #include "SkBBoxHierarchy.h"
(...skipping 526 matching lines...) Expand 10 before | Expand all | Expand 10 after
554 553
555 class BenchmarkStream { 554 class BenchmarkStream {
556 public: 555 public:
557 BenchmarkStream() : fBenches(BenchRegistry::Head()) 556 BenchmarkStream() : fBenches(BenchRegistry::Head())
558 , fGMs(skiagm::GMRegistry::Head()) 557 , fGMs(skiagm::GMRegistry::Head())
559 , fCurrentRecording(0) 558 , fCurrentRecording(0)
560 , fCurrentScale(0) 559 , fCurrentScale(0)
561 , fCurrentSKP(0) 560 , fCurrentSKP(0)
562 , fCurrentUseMPD(0) 561 , fCurrentUseMPD(0)
563 , fCurrentCodec(0) 562 , fCurrentCodec(0)
564 , fCurrentImage(0)
565 , fCurrentBRDImage(0) 563 , fCurrentBRDImage(0)
566 , fCurrentColorType(0) 564 , fCurrentColorType(0)
567 , fCurrentAlphaType(0) 565 , fCurrentAlphaType(0)
568 , fCurrentSubsetType(0) 566 , fCurrentSubsetType(0)
569 , fCurrentBRDStrategy(0) 567 , fCurrentBRDStrategy(0)
570 , fCurrentBRDSampleSize(0) 568 , fCurrentBRDSampleSize(0)
571 , fCurrentAnimSKP(0) { 569 , fCurrentAnimSKP(0) {
572 for (int i = 0; i < FLAGS_skps.count(); i++) { 570 for (int i = 0; i < FLAGS_skps.count(); i++) {
573 if (SkStrEndsWith(FLAGS_skps[i], ".skp")) { 571 if (SkStrEndsWith(FLAGS_skps[i], ".skp")) {
574 fSKPs.push_back() = FLAGS_skps[i]; 572 fSKPs.push_back() = FLAGS_skps[i];
(...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after
805 break; 803 break;
806 default: 804 default:
807 // This represents some sort of failure. 805 // This represents some sort of failure.
808 SkASSERT(false); 806 SkASSERT(false);
809 break; 807 break;
810 } 808 }
811 } 809 }
812 fCurrentColorType = 0; 810 fCurrentColorType = 0;
813 } 811 }
814 812
815 // Run the DecodingBenches
816 for (; fCurrentImage < fImages.count(); fCurrentImage++) {
817 fSourceType = "image";
818 fBenchType = "skimagedecoder";
819 const SkString& path = fImages[fCurrentImage];
820 if (SkCommandLineFlags::ShouldSkip(FLAGS_match, path.c_str())) {
821 continue;
822 }
823 while (fCurrentColorType < fColorTypes.count()) {
824 SkColorType colorType = fColorTypes[fCurrentColorType];
825 fCurrentColorType++;
826 // Check if the image decodes to the right color type
827 // before creating the benchmark
828 SkBitmap bitmap;
829 if (SkImageDecoder::DecodeFile(path.c_str(), &bitmap,
830 colorType, SkImageDecoder::kDecodePixels_Mode)
831 && bitmap.colorType() == colorType) {
832 return new DecodingBench(path, colorType);
833 }
834 }
835 fCurrentColorType = 0;
836 }
837
838 // Run the BRDBenches 813 // Run the BRDBenches
839 // We will benchmark multiple BRD strategies. 814 // We will benchmark multiple BRD strategies.
840 static const struct { 815 static const struct {
841 SkBitmapRegionDecoder::Strategy fStrategy; 816 SkBitmapRegionDecoder::Strategy fStrategy;
842 const char* fName; 817 const char* fName;
843 } strategies[] = { 818 } strategies[] = {
844 { SkBitmapRegionDecoder::kCanvas_Strategy, "BRD_canvas" }, 819 { SkBitmapRegionDecoder::kCanvas_Strategy, "BRD_canvas" },
845 { SkBitmapRegionDecoder::kAndroidCodec_Strategy, "BRD_android_codec" }, 820 { SkBitmapRegionDecoder::kAndroidCodec_Strategy, "BRD_android_codec" },
846 }; 821 };
847 822
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after
986 961
987 double fSKPBytes, fSKPOps; 962 double fSKPBytes, fSKPOps;
988 963
989 const char* fSourceType; // What we're benching: bench, GM, SKP, ... 964 const char* fSourceType; // What we're benching: bench, GM, SKP, ...
990 const char* fBenchType; // How we bench it: micro, recording, playback, .. . 965 const char* fBenchType; // How we bench it: micro, recording, playback, .. .
991 int fCurrentRecording; 966 int fCurrentRecording;
992 int fCurrentScale; 967 int fCurrentScale;
993 int fCurrentSKP; 968 int fCurrentSKP;
994 int fCurrentUseMPD; 969 int fCurrentUseMPD;
995 int fCurrentCodec; 970 int fCurrentCodec;
996 int fCurrentImage;
997 int fCurrentBRDImage; 971 int fCurrentBRDImage;
998 int fCurrentColorType; 972 int fCurrentColorType;
999 int fCurrentAlphaType; 973 int fCurrentAlphaType;
1000 int fCurrentSubsetType; 974 int fCurrentSubsetType;
1001 int fCurrentBRDStrategy; 975 int fCurrentBRDStrategy;
1002 int fCurrentBRDSampleSize; 976 int fCurrentBRDSampleSize;
1003 int fCurrentAnimSKP; 977 int fCurrentAnimSKP;
1004 }; 978 };
1005 979
1006 // Some runs (mostly, Valgrind) are so slow that the bot framework thinks we've hung. 980 // Some runs (mostly, Valgrind) are so slow that the bot framework thinks we've hung.
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
1264 1238
1265 return 0; 1239 return 0;
1266 } 1240 }
1267 1241
1268 #if !defined SK_BUILD_FOR_IOS 1242 #if !defined SK_BUILD_FOR_IOS
1269 int main(int argc, char** argv) { 1243 int main(int argc, char** argv) {
1270 SkCommandLineFlags::Parse(argc, argv); 1244 SkCommandLineFlags::Parse(argc, argv);
1271 return nanobench_main(); 1245 return nanobench_main();
1272 } 1246 }
1273 #endif 1247 #endif
OLDNEW
« no previous file with comments | « bench/DecodingBench.cpp ('k') | dm/DM.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698