1 Skia Overview 2014 2 3 < transition =slide> 4 5 One API -- many backends 6 - Raster [8888, 565, A8] 7 - GPU [opengl] 8 - PDF 9 - XPS 10 - Picture 11 - Pipe 12 13 <transition= fade> 14 15 One Team -- many clients 16 - Chrome 17 - ChromeOS 18 - Clank 19 - Android Framework 20 - 3rd parties (e.g. FireFox) 21 22 <transition= rotate> 23 24 <blockstyle = code> 25 Optimize for CPU variety 26 - x86 - 32bit (SSE, SSE2, ...), 64bit 27 - Arm - thumb, arm, NEON, ... 64bit? 28 - MIPS (just starting) 29 30 <transition= zoom> 31 32 Optimize for GPU variety 33 - Nvidia 34 - Qualcom 35 - Imagination 36 - ... 37 - ES2 -vs- ES3 -vs- Desktop profiles 38 39 Lots of testing and measuring 40 - build-bots 41 -- unittests, micro-benchmarks, image-regressions 42 -- http://108.170.217.252:10117/console 43 - webpage archives (in progress) 44 -- "map-reduce" server for saerching/historgrams 45 -- macro-benchmarks, image-reressions 46 -- gpu : cpu fuzzy compares 47 48 Skia Roadmap [Fall '13] 49 50 Roadmap in a nutshell 51 - GPU performance 52 - Pictures 53 - Images 54 - Fonts 55 - PDF 56 57 Roadmap : GPU Performance 58 - Clipping changes are expensive 59 - Texture cache optimizations 60 - Better batching / reordering 61 - Rely more on multi-sampling 62 - ES3/desktop features (e.g. path-rendering) 63 - ... continuo ad absurdum 64 65 Roadmap : Pictures 66 - Playback performance 67 -- improve culling 68 -- multi-core support 69 - Record performance 70 -- improve hash/cache 71 -- improve measuring/bbox computation 72 - Feedback to clients 73 -- annotations 74 -- heat-map for time spent drawing 75 -- peep-hole optimizations 76 77 Roadmap : Images 78 - HQ filtering and mipmaps 79 - Unpremul support 80 - sRGB support (future) 81 - Improve cache / lazy-decoding 82 83 Roadmap : Fonts 84 - Color emoji 85 - DirectWrite on windows 86 -- subpixel positioning! 87 - new FontMgr -- extended styles 88 89 Roadmap : PDF 90 - Android 91 -- perspective, color-filters 92 - New Viewer project 93 -- print-preview and more 94 -- can output picture / gpu directly 95