Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
introduction to Choreographer
Search
Daichi Furiya (Wasabeef)
September 11, 2015
Programming
800
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
introduction to Choreographer
introduction to Choreographer
Daichi Furiya (Wasabeef)
September 11, 2015
More Decks by Daichi Furiya (Wasabeef)
See All by Daichi Furiya (Wasabeef)
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
6
2.9k
About Flutter Architecture
wasabeef
1
330
2023 Flutter/Dart Summary
wasabeef
0
140
I/O Extended 2023 - Dart と Flutter の新機能
wasabeef
0
240
I/O Extended 2023 - Flutter 活用事例
wasabeef
10
3.1k
What it Takes to be a Flutter Developer
wasabeef
0
260
FlutterKaigi 2022 Keynote
wasabeef
1
740
Flutter Hooks を使ったアプリ開発 / App Development with the Flutter Hooks
wasabeef
2
1.5k
Flutter 2021 の振り返りと今後のアプリ開発に向けて / Looking back on Flutter 2021 and for future app development.
wasabeef
4
2.2k
Other Decks in Programming
See All in Programming
異なる設計思想のフレームワークを経験して得た学び
amekuhideki
1
290
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
220
tsc.rip を支える技術 / Kyoto.なんか #8
susisu
0
150
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
360
[PyCon KR 2026] More Variants, More Diversity for AI Accelerators
achimnol
0
110
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
250
仕様駆動開発の消費期限
watany
20
8.9k
ドリフトを絶対に許さない(?)CDK運用 / CDK Ops with Zero Tolerance for Drifts (?)
akihisaikeda
1
220
My Marp Sample
sinoue0108
0
110
いまどきの Codex で開発する visionOS アプリの開発スタイルについて
karad
0
160
Hono + Inertia + React で LP を構築した話
oukayuka
2
150
ソフトウェアラスタライザ
fadis
1
550
Featured
See All Featured
AI: The stuff that nobody shows you
jnunemaker
PRO
9
940
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
250
The Mindset for Success: Future Career Progression
greggifford
PRO
0
470
Evolving SEO for Evolving Search Engines
ryanjones
0
260
Marketing to machines
jonoalderson
1
5.7k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
550
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
210
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Fireside Chat
paigeccino
42
4k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
490
Designing for Performance
lara
611
70k
Transcript
$IPSFPHSBQIFS 8BTBCFFG
"CPVU.F @wasabeef_jp CyberAgent, Inc.
Choreographer IUUQEBODFXPSLTOFUJOTQJSBUJPODIPSFPHSBQIFST
$IPSFPHSBQIFS “The choreographer receives timing pulses (such as vertical synchronization)
from the display subsystem then schedules work to occur as part of rendering the next display frame.”
'SBNF3BUF
'SBNF3BUF “ϑϨʔϜϨʔτɺಈըʹ͓͍ͯɺ୯Ґ࣌ؒ͋ ͨΓʹॲཧͤ͞ΔϑϨʔϜʢ੩ࢭը૾ɺί ϚʣͰ͋Δɻ௨ৗɺ1ඵ͋ͨΓͷͰද͠ɺ fpsʢӳ: frames per secondʹϑϨʔϜຖ ඵʣͱ͍͏୯ҐͰද͢ɻ”
IUUQTUXJUUFSDPN.D'VOLZQBOUTTUBUVT
60fps: 16.666666667/ms 40fps: 33.333333333/ms 15fps: 66.666666667/ms
74ZOD
IUUQCJUMZ&2RKL
None
)PXUPVTF
class Metronome implements Choreographer.FrameCallback { private Choreographer choreographer; public Metronome()
{ choreographer = Choreographer.getInstance(); } public void start() { choreographer.postFrameCallback(this); } public void stop() { choreographer.removeFrameCallback(this); } @Override public void doFrame(long frameTimeNanos) { Timber.i(“Callback frameTimeNanos” + frameTimeNanos); choreographer.postFrameCallback(this); } }
$IPSFPHSBQIFS$PNQBU JOGBDFCPPLSFCPVOE
None
IUUQTXXXqJDLSDPNQIPUPTUFUTVL
IUUQTHJUIVCDPNXBTBCFFG5BLU
EFQFOEFODJFT\ DPNQJMFKQXBTBCFFGUBLU ^ 5BLUTUPDL UIJT QMBZ
5IBOLT