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

  • Core Animation Essentials
  • 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

  • Advanced Graphics and Animations for iOS Apps
  • 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


  1. animateWithDuration 
  2. layoutSubviews
  3. 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가 있다면, 생각해 보자

  1. frame rate = 60 frame/sec
  2. CPU or GPU bounds
  3. GPU desirable > CPU
  4. fewer offscreen passes
  5. less blending
  6. Dont use strange image formats
  7. visual effects costs
  8. 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

  • Best Practices for 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







by 언제나19 2015. 4. 9. 23:46



https://developer.apple.com/library/prerelease/ios/documentation/DeveloperTools/Conceptual/testing_with_xcode/Introduction/Introduction.html


Testing in Xcode 6
Tools
iOS, OS X
Testing in Xcode 6
Session 414
Play
 
Unit testing is an essential tool to consistently verify your code works correctly. Learn how Xcode 6 takes this to the next level with support for performance testing, baselining, and integration with Xcode bots to continually monitor your performance over time and devices.
Download: HD | SD | PDF


  1. command u로 실행하거나
  2. side bar에서 하나씩 버튼 눌러서 실행하거나
  3. command로 실행


demo를 objective c로 보여주네. swift를 기대했는데..


OCUnit은 Xcode 5.1부터 deprecated됐다.


Asynchronous testing


test case 1개씩 profiling하는 것도 쓸만 하겠다.


measureBlock은 여러 번 실행하고 실행시간 평균과 standard deviation 등을 계산해 주나 보다.



Testing in Xcode 5ToolsiOS, OS X
Testing in Xcode 5Session 409Play Unit testing is an essential tool to consistently verify that your code works correctly. Learn how Xcode 5 makes it dramatically easier to create, edit, execute, and understand your tests. Download: HD | SD     | PDF


unit testing 얘기부터 시작


XCTest가 Xcode5부터 나왔나보네.

Test Navigator 등은 이 때 더 잘 설명해줬었다.


xcode server에서 test실행하는 것을 local xcode에서 할 수 있는 건가





by 언제나19 2014. 6. 25. 14:48


올해는 wwdc video가 바로 모두에게 공개돼있네.

https://developer.apple.com/videos/wwdc/2014/


What's New in Cocoa Touch
Frameworks
iOS
What's New in Cocoa Touch
Session 202
Play
 
iOS 8 brings enhancements to the Cocoa Touch frameworks for making next generation apps on iOS. Learn about updates to view controllers, the introduction of size classes, and get an overview of all new APIs to help you create adaptive apps. Hear about new capabilities, such as extensions and handoff, which will enable you to create great experiences for users to keep them up to date at all times or allow them to continue their workflow when they move from one device to another. Find out which sessions you won't want to miss throughout the week.
Download: HD | SD



adaptive하게 돼서 iphone, ipad 동시 개발이 쉬워졌대.

AlertView도 양쪽에 동작한다고 하고,

simulator도 변경해서 쓰기가 쉬워졌대.


split view도 뭔가 좋아졌다고 한다.


UIBlurEffect

목욕탕 반투명 색깔

UIVibrancyEffect


TableView에서

variable row height

auto layout으로 자동으로 height를 알아낸다.


App Extensions


notification

승인 안받아도 notify할 수 있게 됐네.

push size가 256 --> 1k


hand off

mac os x을 쓸 때만 쓰려나


Core location

indoor location?? 뭐가 되려나







by 언제나19 2014. 6. 5. 08:19



2013년

Interface Builder Core Concepts
Tools
iOS, OS X
Interface Builder Core Concepts
Session 405
Play
 
The Interface Builder feature built into Xcode makes it easy to create world-class interfaces using a design canvas. Learn how to use storyboards to arrange the views of your app, and employ Auto Layout to ensure your design adapts to changes in screen size, orientation, and localization. See how to easily wire up connections between your beautiful UI and your implementation code using the Assistant editor.
Download: HD | SDPDF


Taking Control of Auto Layout in Xcode 5
Tools
iOS, OS X
Taking Control of Auto Layout in Xcode 5
Session 406
Play
 
Auto Layout’s powerful constraint-based engine enables a single user interface to work beautifully on both iOS 6 and iOS 7, and respond dynamically to changes in the size of controls, rotation, or localization. See how the improvements to Auto Layout in Xcode 5 make it even easier to quickly build flexible, modern interfaces.
Download: HD | SDPDF





2012년


Introduction to Auto Layout for iOS and OS X
Essentials
iOS, OS X
Introduction to Auto Layout for iOS and OS X
Play
 
If your application has a user interface, then this session is for you. iOS 6 adopts OS X Lion's powerful constraint-based layout engine, making it easy to design a flexible user interface that responds dynamically to layout changes such as rotation and varying status bar heights. This session will cover the basic concepts, IB support, and API you'll need to get started using auto layout.
Download: HD | SDPDF

Auto Layout by Example
Essentials
iOS, OS X
Auto Layout by Example
Play
 
Auto layout is a powerful constraint-based layout engine that can handle an amazing variety of user interfaces. This session pulls together API and technique to demonstrate how to build a wide range of interfaces. Learn how to construct common layout scenarios. From simple "button and text field" layouts all the way up to dynamic splitviews with interface elements that are dependent on each other, you will learn crucial skills to implement any type of user interface.
Download: HD | SDPDF


Best Practices for Mastering Auto Layout
Essentials
iOS, OS X
Best Practices for Mastering Auto Layout
Play
 
Learn advanced techniques for creating sophisticated and dynamic layouts in OS X and iOS apps using the auto layout system. You'll receive tons of useful examples, see "how we did that," and learn valuable best practices and debugging techniques. If you are new to auto layout, you might want to attend the Introduction to Auto Layout session first.
Download: HD | SDPDF



Adopting Storyboards in Your App
Developer Tools
iOS
Adopting Storyboards in Your App
Play
 
Storyboards in iOS make designing your application much faster and easier. Storyboards allow you to graphically arrange all your application's views within a single Xcode design canvas, where you can then define the logical flow and even assign transition animations. Learn how to use Storyboards to quickly go from concept to a fully functional iOS application.
Download: HD | SDPDF


2011년에는 os x에서만 auto layout

Cocoa Autolayout
App Frameworks
OS X
Cocoa Autolayout
Play
 
In Lion, we revisit the basics of how views are placed in windows for the first time since Mac OS X 10.0. Springs and struts (i.e. autoresizing masks) are out, dashed blue Interface Builder guides are in. Rather than being one-off helpers for setting a frame in IB, guides become persistent objects that maintain a relationship at runtime. Come see what's going on, and what merited such a big change.
Download: HD | SDPDF








by 언제나19 2014. 5. 29. 16:23




WWDC 2012 Session Videos - HD                   

Session 407 - Adopting Storyboards in Your App


Storyboards in iOS make designing your application much faster and easier.  Storyboards allow you to graphically arrange all your application's views within a single Xcode design canvas, where you can then define the logical flow and even assign transitio


처음에는 storyboard의 기본적인 사용법을 가르쳐준다.


storyboard와 code로 만든 view controller를 연결하는 방법도 가르쳐준다.


container view를 이용하면, 다른 view controller에서 일부분 view를 구성할 수 있다.


unwind action

reset, done을 통해서 과거 view controller로 돌아갈 수 있다. 새 기능.




by 언제나19 2013. 1. 14. 15:35
| 1 2 3 |