Slidy z mé prezentace na téma "ONscreen vs. OFFscreen rendering v iOS", která proběhla na For-Mobile iOS v březnu 2013 v prostorách Microsoft ČR.
Více o události For-Mobile: http://srazy.info/for-mobile/3293
#forMobileCZ
13. Kdy se použije
OFFscreen rendering?
• Core Graphics (když použiju cokoliv s CG*)
• drawRect() metoda, i prázdná!
• CALayer s shouldRasterize == YES.
• CALayer s maskami (setMasksToBounds)
dynamickými stíny (setShadow*).
• drawText včetně Core Text.
• použití group opacity (UIViewGroupOpacity).
14. Proč a kdy to vadí?
“Offscreen drawing affects
performance when animation is
involved”
22. GPU OFFscreen
rendering!
CPU OFFscreen rendering je synchronní s
aplikací
- je to zápis do bitmapy pixel by pixel
OFFscreen rendering může dělat i GPU! -> render
server - asynchronně
Změna kontextu mezi ON a OFF je pro GPU ale
strašně drahá!
23. GPU OFFscreen
rendering!
důsledek: GPU může kreslit pomaleji než
CPU! (flush + bariéra)
Proto je CoreGraphics přes CPU
[CALayer setShouldRasterize:] vs. CG
- nutno testovat!