글
Core Animation in Practice, Part 1Graphics & MediaiOS
Core Animation in Practice, Part 1 Core Animation is the layer-based animation system that powers the dynamic user experience seen in iPhone OS. See Core Animation in action and learn about its architecture, capabilities, and best practices. Learn how to combine the familiar capabilities of UIKit, Quartz 2D, and OpenGL ES with the power of Core Animation layers and animation. Download: HD | SD | PDF System Requirements
To watch the streaming version of this video, use the latest version of Safari on a Mac running OS X Lion or later. Alternatively, you can download this video in HD and SD.
Core Animation in Practice, Part 2Graphics & MediaiOS
WWDC 2010 Session 123 – Building Animation Driven Interfaces
WWDC 2010 Session 424 – Core Animation in Practice, Part 1
WWDC 2010 Session 425 – Core Animation in Practice, Part 2
https://developer.apple.com/videos/wwdc/2011/#421
- Graphics, Media, & Games
- iOS, OS X
2011년 강의로 기초 공부
[CATransactionAnimation setDuration:2];
만으로도 animation을 실행한다.
CAAction protocol
implicit animation이 싫을 땐,
[CATransactionAnimation setDisableActions:YES];
hitTest screen value를 얻을 땐, presentationLayer를 이용하기
Bitmap cache 얘기 같은 것 듣고 싶었는데, 발표자가 시간이 모자랐는지 그냥 넘어가네..
Replicators라는 것도 있네. 변화를 여러 replicator instances에 조금씩 반영?
Particles는 ios5부터. CAEmitterLayer
이것도 쓸 일은 없겠다.
WWDC 2011 Video: Understanding UIKit rendering
WWDC 2012 Video: iOS App performance: Graphics and Animations
drawRect: layer.contents backing store
CA::Layer::layout_and_display_if_needed(CA::Transaction*)
https://developer.apple.com/videos/wwdc/2014/#419
- Tools
- iOS
Layout --> Display --> Prepare --> Commit
layout: CPU, IO
display= drawRect, string drawing: CPU, memory
prepare= image decoding
commit= package up layers and send to render server
- animateWithDuration
- layoutSubviews
- Render each frame
Command buffer --> Tiler (vertex processing, tiling) --> Parameter buffer --> Render (pixel shader) --> Render buffer
를 연속적으로 pipelining
16.67ms
gpu context switch때문에 gpu idle time이 생기곤 한다.
shouldRasterize
extra offscreen passes when updating content -->> 정적인 content에 쓰기
cache size는 2.5x of screen size에 한정돼있으니까 overuse하지 말기.
rasterized images는 100ms 이상 동안 안쓰인다면 evicted from cache
Tools
performance issue가 있다면, 생각해 보자
- frame rate = 60 frame/sec
- CPU or GPU bounds
- GPU desirable > CPU
- fewer offscreen passes
- less blending
- Dont use strange image formats
- visual effects costs
- view hierarchy
Instruments
Core animation instrument, OpenGL ES drivier instrument
color blended layers에 check하면, 얼마나 겹쳐 있는지 알 수 있다.
color hit green and ... red: cache 안돼있을 때 빨갛게 표시
color copied images: 지원 안하는 color format 때문에 시간 걸릴 때
color misaligned image
color offscreen yellow
2012, 2013 년에는 mac os x Cocoa Animation
- Frameworks
- OS X
https://developer.apple.com/videos/wwdc/2012/
Layer-Backed Views: AppKit + Core Animation Essentials OS X
Layer-Backed Views: AppKit + Core AnimationPlay Learn how to effectively use layer-backed views in AppKit to...
한편, 그리기 video가 너무 없네.
https://developer.apple.com/videos/wwdc/2011/#129
Practical Drawing for iOS DevelopersApp FrameworksiOS
'공부 > Computers' 카테고리의 다른 글
groovy study (0) | 2015.12.28 |
---|---|
Tinkerpop and Titan graph database study (0) | 2015.12.25 |
Mining Massive Datasets, Coursera (0) | 2015.05.24 |
2015 google codejam Round 1B 실패 기록 (5) | 2015.05.12 |
2015 google codejam QR 문제 풀이 (6) | 2015.04.18 |
google code jam 2014 R1 A A Charging chaos (0) | 2015.04.07 |
2012 Gogle code jam Round 1A practice 다시 풀어 보기 (0) | 2015.04.06 |
Code Jam 2009, Round 1C 문제 풀이 ruby, python (0) | 2015.03.29 |
오랜만에 google codejam 설명서 읽기 (0) | 2015.03.19 |
python 동영상 강의 (0) | 2015.01.15 |
RECENT COMMENT