Flutter Engine
The Flutter Engine
Public Member Functions | Protected Member Functions | List of all members
ImageCacheBench Class Reference
Inheritance diagram for ImageCacheBench:
Benchmark SkRefCnt SkRefCntBase

Public Member Functions

 ImageCacheBench ()
 
void populateCache ()
 
- Public Member Functions inherited from Benchmark
 Benchmark ()
 
const char * getName ()
 
const char * getUniqueName ()
 
SkISize getSize ()
 
virtual bool isSuitableFor (Backend backend)
 
virtual void modifyGrContextOptions (GrContextOptions *)
 
virtual bool shouldLoop () const
 
void delayedSetup ()
 
void perCanvasPreDraw (SkCanvas *)
 
void perCanvasPostDraw (SkCanvas *)
 
void preDraw (SkCanvas *)
 
void postDraw (SkCanvas *)
 
void draw (int loops, SkCanvas *)
 
virtual void getGpuStats (SkCanvas *, skia_private::TArray< SkString > *keys, skia_private::TArray< double > *values)
 
virtual bool getDMSAAStats (GrRecordingContext *)
 
int getUnits () const
 
- Public Member Functions inherited from SkRefCntBase
 SkRefCntBase ()
 
virtual ~SkRefCntBase ()
 
bool unique () const
 
void ref () const
 
void unref () const
 

Protected Member Functions

const char * onGetName () override
 
void onDraw (int loops, SkCanvas *) override
 
- Protected Member Functions inherited from Benchmark
void setUnits (int units)
 
virtual void setupPaint (SkPaint *paint)
 
virtual const char * onGetName ()=0
 
virtual const char * onGetUniqueName ()
 
virtual void onDelayedSetup ()
 
virtual void onPerCanvasPreDraw (SkCanvas *)
 
virtual void onPerCanvasPostDraw (SkCanvas *)
 
virtual void onPreDraw (SkCanvas *)
 
virtual void onPostDraw (SkCanvas *)
 
virtual void onDraw (int loops, SkCanvas *)=0
 
virtual SkISize onGetSize ()
 

Additional Inherited Members

- Public Types inherited from Benchmark
enum class  Backend {
  kNonRendering , kRaster , kGanesh , kGraphite ,
  kPDF , kHWUI
}
 

Detailed Description

Definition at line 38 of file ImageCacheBench.cpp.

Constructor & Destructor Documentation

◆ ImageCacheBench()

ImageCacheBench::ImageCacheBench ( )
inline

Definition at line 45 of file ImageCacheBench.cpp.

45: fCache(CACHE_COUNT * 100) {}

Member Function Documentation

◆ onDraw()

void ImageCacheBench::onDraw ( int  loops,
SkCanvas  
)
inlineoverrideprotectedvirtual

Implements Benchmark.

Definition at line 58 of file ImageCacheBench.cpp.

58 {
59 if (fCache.getTotalBytesUsed() == 0) {
60 this->populateCache();
61 }
62
63 TestKey key(-1);
64 // search for a miss (-1)
65 for (int i = 0; i < loops; ++i) {
66 SkDEBUGCODE(bool found =) fCache.find(key, TestRec::Visitor, nullptr);
67 SkASSERT(!found);
68 }
69 }
#define SkASSERT(cond)
Definition: SkAssert.h:116
SkDEBUGCODE(SK_SPI) SkThreadID SkGetThreadID()
int find(T *array, int N, T item)
size_t getTotalBytesUsed() const
Visitor(Ts...) -> Visitor< Ts... >

◆ onGetName()

const char * ImageCacheBench::onGetName ( )
inlineoverrideprotectedvirtual

Implements Benchmark.

Definition at line 54 of file ImageCacheBench.cpp.

54 {
55 return "imagecache";
56 }

◆ populateCache()

void ImageCacheBench::populateCache ( )
inline

Definition at line 47 of file ImageCacheBench.cpp.

47 {
48 for (int i = 0; i < CACHE_COUNT; ++i) {
49 fCache.add(new TestRec(TestKey(i), i));
50 }
51 }
void add(Rec *, void *payload=nullptr)

The documentation for this class was generated from the following file: