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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Daichi Furiya (Wasabeef)
September 11, 2015
Programming
0
790
introduction to Choreographer
introduction to Choreographer
Daichi Furiya (Wasabeef)
September 11, 2015
Tweet
Share
More Decks by Daichi Furiya (Wasabeef)
See All by Daichi Furiya (Wasabeef)
DevFest Tokyo 2025 - Flutter のアプリアーキテクチャ現在地点
wasabeef
6
2.5k
About Flutter Architecture
wasabeef
1
300
2023 Flutter/Dart Summary
wasabeef
0
110
I/O Extended 2023 - Dart と Flutter の新機能
wasabeef
0
210
I/O Extended 2023 - Flutter 活用事例
wasabeef
10
3.1k
What it Takes to be a Flutter Developer
wasabeef
0
220
FlutterKaigi 2022 Keynote
wasabeef
1
660
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
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.9k
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
3.9k
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
170
AI巻き込み型コードレビューのススメ
nealle
1
210
高速開発のためのコード整理術
sutetotanuki
1
400
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
110
SourceGeneratorのススメ
htkym
0
190
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
300
KIKI_MBSD Cybersecurity Challenges 2025
ikema
0
1.3k
MUSUBIXとは
nahisaho
0
130
コマンドとリード間の連携に対する脅威分析フレームワーク
pandayumi
1
450
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.4k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
94
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
0
270
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
3.9k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.7k
Designing Experiences People Love
moore
144
24k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
240
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
0
3.4k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
170
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