Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
AD
Uploaded by
Andy Demo
2,839 views
CEDEC2012 Flashゲームにおけるパフォーマンスチューニングの A to Z
タイトル:60fpsへの道:Flashゲームにおけるパフォーマンスチューニングの A to Z
Technology
◦
Read more
16
Save
Share
Embed
Embed presentation
Download
Downloaded 30 times
1
/ 49
2
/ 49
3
/ 49
4
/ 49
5
/ 49
6
/ 49
7
/ 49
8
/ 49
9
/ 49
10
/ 49
11
/ 49
12
/ 49
13
/ 49
14
/ 49
15
/ 49
16
/ 49
17
/ 49
18
/ 49
19
/ 49
20
/ 49
21
/ 49
22
/ 49
23
/ 49
24
/ 49
25
/ 49
26
/ 49
27
/ 49
28
/ 49
29
/ 49
30
/ 49
31
/ 49
32
/ 49
33
/ 49
34
/ 49
35
/ 49
36
/ 49
37
/ 49
38
/ 49
39
/ 49
40
/ 49
41
/ 49
42
/ 49
43
/ 49
44
/ 49
45
/ 49
46
/ 49
47
/ 49
48
/ 49
49
/ 49
More Related Content
PDF
第20回「事件は現場で起きている!IBMクラウド”CoDサービス”実運用の現場より、IBM Systems Softwareを活用した運用自動化のご紹介」...
by
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
PPTX
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
by
Fixstars Corporation
PDF
Solaris 11 ディープダイブセミナー インストール編
by
SolarisJP
PDF
Itm_for_virtualservers_overview_public_20110627
by
Yuhki Hanada
PDF
Cloudera Manager 4 の紹介
by
Cloudera Japan
PDF
クラウド活用で実現する、開発・保守の効率化
by
Hiroshi Koyama
PDF
SoftLayer Bluemix概要
by
YoshiyukiKonno
PPTX
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
by
Toshiyuki Konparu
第20回「事件は現場で起きている!IBMクラウド”CoDサービス”実運用の現場より、IBM Systems Softwareを活用した運用自動化のご紹介」...
by
System x 部 (生!) : しすなま! @ Lenovo Enterprise Solutions Ltd.
製造業向け量子コンピュータ時代のDXセミナー ~見える化、分析、予測、その先の最適化へ~
by
Fixstars Corporation
Solaris 11 ディープダイブセミナー インストール編
by
SolarisJP
Itm_for_virtualservers_overview_public_20110627
by
Yuhki Hanada
Cloudera Manager 4 の紹介
by
Cloudera Japan
クラウド活用で実現する、開発・保守の効率化
by
Hiroshi Koyama
SoftLayer Bluemix概要
by
YoshiyukiKonno
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
by
Toshiyuki Konparu
What's hot
PDF
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
by
Fixstars Corporation
PDF
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
by
Fixstars Corporation
PDF
BluemixとIBM DevOps Servicesで始めるアプリケーション開発
by
IBMソリューション
PDF
Bluemixの基本を知る -全体像-
by
IBMソリューション
PDF
Bluemixではじめるアナリティクス
by
IBMソリューション
PDF
Bluemixの基本を知る -仕組みと使い方-
by
IBMソリューション
PDF
経営を支えるIT部門実現の記録2005
by
Makoto Shimizu
PDF
IBM Operational Decision Managerによるビジネスルール開発
by
Satsuki Funaki
PDF
Bluemixと既存システムとの連携
by
IBMソリューション
AIチップ戦国時代における深層学習モデルの推論の最適化と実用的な運用を可能にするソフトウェア技術について
by
Fixstars Corporation
CPU / GPU高速化セミナー!性能モデルの理論と実践:実践編
by
Fixstars Corporation
BluemixとIBM DevOps Servicesで始めるアプリケーション開発
by
IBMソリューション
Bluemixの基本を知る -全体像-
by
IBMソリューション
Bluemixではじめるアナリティクス
by
IBMソリューション
Bluemixの基本を知る -仕組みと使い方-
by
IBMソリューション
経営を支えるIT部門実現の記録2005
by
Makoto Shimizu
IBM Operational Decision Managerによるビジネスルール開発
by
Satsuki Funaki
Bluemixと既存システムとの連携
by
IBMソリューション
Similar to CEDEC2012 Flashゲームにおけるパフォーマンスチューニングの A to Z
PDF
Flex開発を加速するFlash Builder 4新機能紹介
by
Keisuke Todoroki
PDF
Flashテクノロジーの今後とあなたの人生とのかかわりについて
by
Teiichi Ota
PDF
120829atechhills3flashfinal 120829215733-phpapp01
by
Chris Brownlee
PDF
映像合成ミドルウェア PENCIL 概要
by
株式会社グラフィシア
PDF
ExGame さくっと入門
by
Soshi Kido
PDF
Smartphoneseminar orso_sakamoto
by
Yoshichika Sakamoto
PDF
Toolkit for CreateJSで作るリッチコンテンツ
by
Yasunobu Ikeda
PDF
Sneak Previews (ADC MEETUP ROUND 01)
by
Teiichi Ota
PPT
Html5conference2012 yota hisamichi_世界に向けたスマートフォンゲームを支える、 greeのテクニカルアーティストについて。
by
ひさし App
PDF
20100416 devlove(flex) final
by
dsdseg
PDF
Adobe flex and mobile 4p
by
Keisuke Todoroki
PDF
Css nite in ginza adps
by
Mariko Nishimura
PDF
ここからはじめるAction Script 3.0 入門前
by
Yusuke Kamo
PDF
東北クラウド実践カンファレンス2011
by
Shinichiro Isago
PDF
Agile 459 | 11/17 資料
by
智治 長沢
PDF
Arctic.js開発者から見るFlasherの未来
by
chikathreesix
PDF
「職人技」では未来が見えない!みんなが使えるAdobeのHTML5関連ツールとソリューション。
by
Teiichi Ota
PPTX
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
by
Tsuyoshi Nakao
PDF
ALM DAY - Team Foundation Server 評価 Dojo
by
智治 長沢
PDF
Dev camp2012jpn day2special
by
Katsuhito Katoh
Flex開発を加速するFlash Builder 4新機能紹介
by
Keisuke Todoroki
Flashテクノロジーの今後とあなたの人生とのかかわりについて
by
Teiichi Ota
120829atechhills3flashfinal 120829215733-phpapp01
by
Chris Brownlee
映像合成ミドルウェア PENCIL 概要
by
株式会社グラフィシア
ExGame さくっと入門
by
Soshi Kido
Smartphoneseminar orso_sakamoto
by
Yoshichika Sakamoto
Toolkit for CreateJSで作るリッチコンテンツ
by
Yasunobu Ikeda
Sneak Previews (ADC MEETUP ROUND 01)
by
Teiichi Ota
Html5conference2012 yota hisamichi_世界に向けたスマートフォンゲームを支える、 greeのテクニカルアーティストについて。
by
ひさし App
20100416 devlove(flex) final
by
dsdseg
Adobe flex and mobile 4p
by
Keisuke Todoroki
Css nite in ginza adps
by
Mariko Nishimura
ここからはじめるAction Script 3.0 入門前
by
Yusuke Kamo
東北クラウド実践カンファレンス2011
by
Shinichiro Isago
Agile 459 | 11/17 資料
by
智治 長沢
Arctic.js開発者から見るFlasherの未来
by
chikathreesix
「職人技」では未来が見えない!みんなが使えるAdobeのHTML5関連ツールとソリューション。
by
Teiichi Ota
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
by
Tsuyoshi Nakao
ALM DAY - Team Foundation Server 評価 Dojo
by
智治 長沢
Dev camp2012jpn day2special
by
Katsuhito Katoh
CEDEC2012 Flashゲームにおけるパフォーマンスチューニングの A to Z
1.
60fpsへの道:
Flashゲームにおける パフォーマンスチューニングの A to Z Andy Hall Adobe Japan © 2012 Adobe Systems Incorporated. All Rights Reserved.
2.
Andy Hall アンディ
ホール Game Evangelist ゲーム エバンジェリスト Adobe Japan アドビ システムズ 株式会社 @fenomas © 2012 Adobe Systems Incorporated. All Rights Reserved.
3.
Agenda
• 最適化の全体的な話 • ActionScript 3.0 最適化 • Flash Player 内部設計 • レンダリング最適化 • 今後のトピック © 2012 Adobe Systems Incorporated. All Rights Reserved.
4.
最適化の原則
“Premature optimization is the root of all evil” Donald Knuth (早すぎる最適化は諸悪の根源) © 2012 Adobe Systems Incorporated. All Rights Reserved.
5.
最適化の流れ
パフォーマンス 効率よく、 最適化 向けの設計作り 迅速に開発 (ボトルネックのみ) © 2012 Adobe Systems Incorporated. All Rights Reserved.
6.
Metrics
最適化の前には測定基準が必要。 • FPS • メモリー使用量 • CPU 使用率 • Bandwidth? • バッテリー消費 • etc... © 2012 Adobe Systems Incorporated. All Rights Reserved.
7.
プロファイリング
現在: 近未来: Flash Builder 4.6 プロファイラー コードネーム「モノクル」 © 2012 Adobe Systems Incorporated. All Rights Reserved.
8.
ACTIONSCRIPT 最適化 © 2012
Adobe Systems Incorporated. All Rights Reserved.
9.
ActionScript 3.0 の最適化
注意: • レンダーリングの方が ネックの場合が多い • 良く見る最適化の 「コツ」は多くの場合 無視しましょう © 2012 Adobe Systems Incorporated. All Rights Reserved.
10.
基本の基本
• AS3.0 は必須 常に! • すべての変数に型付け • Array、Dictionaryより Vector.<type> ネック • RegExpよりStringメソッド の場合 • E4X、XML は要注意 ( ) • イベントよりコールバック © 2012 Adobe Systems Incorporated. All Rights Reserved.
11.
Pooling
インスタンス化のコストが高い! オブジェクトのプール、再利用で、インスタンス化と 処理のコストを抑える • Static temps • オブジェクト pooling © 2012 Adobe Systems Incorporated. All Rights Reserved.
12.
Function コール
ファンクションコールにもコストそこそこ。 コールスタックを浅く、再帰的定義を避けよう。 © 2012 Adobe Systems Incorporated. All Rights Reserved.
13.
ガベージコレクション
GCを良く知ろう! • Flash のGCは参照カウント、 マーク・スイープを 両方実装している。 (メモリー使用量の最適化には上記の理解が絶対条件!) • モノクルを利用して、GC発生の頻度をチェックしよう。 • プール、再利用してGCの発生を抑えよう。 • リテラル(String、intなど)はヌルにするだけで処理 が済むので、大量データをリテラルとして扱おう。 © 2012 Adobe Systems Incorporated. All Rights Reserved.
14.
GCをスマートに
GCの都合の良いタイミングをFlashに教えよう。 画面切り替え、ポーズ画面等で上記を呼ぼう。 FlashのGC処理の準備は徐々に進んでいる。上記コマンドでは、 今のタイミングで処理するようにFlashに指示する。 因数は緊急性を表す。 imminence=0.99; // すぐに処理ができれば発生させる imminence=0.01; // 処理の準備がまだ多少残っても発生させる © 2012 Adobe Systems Incorporated. All Rights Reserved.
15.
参考文献:
「ActionScript 3.0 パフォーマンスチューニング」 (野中 文雄 著) © 2012 Adobe Systems Incorporated. All Rights Reserved.
16.
FLASH 内部設計 © 2012
Adobe Systems Incorporated. All Rights Reserved.
17.
全体像
// フラッシュの内部ループ(単純的に) while() { sleep until (nextEvent OR externalEvent) if ( various events pending ) { handleEvents(); // Timerイベント、 // audio/video バッファー等を処理する } if ( time for next SWF frame ) { parseSWFFrame(); executeActionScript(); } if ( screen needs update ) { updateScreen(); } } © 2012 Adobe Systems Incorporated. All Rights Reserved.
18.
Flash の内部ループ
次のSWF 外部からの フレームを処理 レンダー イベント処理 (表示) スクリプト実行 sleep © 2012 Adobe Systems Incorporated. All Rights Reserved.
19.
ポイント!
定期的な処理は基本的に Event.ENTER_FRAME で! ENTER_FRAME 次のSWF 外部からの フレームを処理 レンダー イベント処理 (表示) スクリプト実行 sleep © 2012 Adobe Systems Incorporated. All Rights Reserved.
20.
表示リスト
Vector shapes Video Bitmap Display List © 2012 Adobe Systems Incorporated. All Rights Reserved.
21.
再描画領域
“Dirty” (再描画される) フレーム Display List アップデート © 2012 Adobe Systems Incorporated. All Rights Reserved.
22.
表示プレーン
Vector 3D Video Display List © 2012 Adobe Systems Incorporated. All Rights Reserved.
23.
描画モード
wmode (Flash ) renderMode ( AIR) direct GPU gpu CPU cpu ブラウザー Flash レンダリング transparent opaque © 2012 Adobe Systems Incorporated. All Rights Reserved.
24.
レンダリング 最適化 © 2012
Adobe Systems Incorporated. All Rights Reserved.
25.
Rendering 基本
• 表示リストを浅くしよう。 理由:再描画領域内 のすべてが 毎フレーム完全に 処理されるため Display List © 2012 Adobe Systems Incorporated. All Rights Reserved.
26.
Rendering 基本
ある表示機能は物理的に重い。 気を付けながら使おう。 • ビットマップエフェクト (グロー、ドロップシャドー等) • マスク(ベクターベースだし) • アルファーチャンネル・半透明 • ブレンドモード(add、multiply等) • 組み込みフォント(特に日本語!) © 2012 Adobe Systems Incorporated. All Rights Reserved.
27.
Rendering 基本
• 用が済んだものはStageから消去 • 適切なフレームレートを • ベクターシェイプを簡単化しよう © 2012 Adobe Systems Incorporated. All Rights Reserved.
28.
Stage設定
• StageQuality.LOW: Lower-quality vector shapes. Never anti-alias, never smooth bitmaps. • StageQuality.MEDIUM: Better vectors. Some anti-aliasing but no bitmaps smoothing. Default value for mobile devices. • StageQuality.HIGH: Always uses anti-aliasing. Uses smoothing on bitmaps depending on whether the SWF is animating. Default value on desktop PCs. • StageQuality.BEST: Best quality. Always anti-alias, always smooth bitmaps. © 2012 Adobe Systems Incorporated. All Rights Reserved.
29.
Rendering 内部設計
• ラスタライズ化の条件、 ビットマップキャッシュは デザイナーさんも含めて理解しよう! © 2012 Adobe Systems Incorporated. All Rights Reserved.
30.
Bitmap Caching
• 複雑なアセットを 一度ラスタライズして 後はビットマップが 代わりに使われる。 • ビットマップエフェクト、ブレンドモード等を 利用する場合に自動的に適用 一般的なFlashコンテンツの最適化には、 これは何より大事! © 2012 Adobe Systems Incorporated. All Rights Reserved.
31.
再ラスタライズの条件
foo.cacheAsBitmap = true; キャッシュ 再ラスタライズ のまま foo.cacheAsBitmapMatrix = new Matrix(); キャッシュのまま GPUで描画される AIRアプリのみ! © 2012 Adobe Systems Incorporated. All Rights Reserved.
32.
Bitmap Caching
キャッシュ状態をモノクルで確認しよう。 © 2012 Adobe Systems Incorporated. All Rights Reserved.
33.
Rendering 最適化
最後の一言: 現場のスペックに合わせよう! 500 particles 200 particles © 2012 Adobe Systems Incorporated. All Rights Reserved.
34.
レンダリング モデル © 2012
Adobe Systems Incorporated. All Rights Reserved.
35.
Rendering Models
現代のゲームに、 レンダーモデルは主に4つ: 1. Display List 2. GPU mode 3. Blitting 4. Stage3D © 2012 Adobe Systems Incorporated. All Rights Reserved.
36.
1.表示リストモデル
• Flash Proアニーメータが作る、タイムライン アニーメーションベースの一般的なコンテンツ • 作りやすい。パフォーマンスは低い。 • PC向けの軽いコンテンツには十分に使える。 モバイルにはNG。(GPU一切使われないし) • 最適化のキーテクニックはビットマップ キャッシュである。 © 2012 Adobe Systems Incorporated. All Rights Reserved.
37.
2.GPU Mode
• AIRアプリのパブリッシュ設定である。 Android、iOSにも対応する。 • 設定の場合、ベクターやビットマップをGPU経由で 描画しようとする。 • movieclip.cacheAsBitmapMatrix を正しく、注意深く 使えば、かなりパフォーマンスが出る。 • 現代までは有力なモデルだが、今後の作品・ 新プロジェクトにはおすすめできない。 © 2012 Adobe Systems Incorporated. All Rights Reserved.
38.
GPU Mode 事例
モンスタープラネットSMASH! (GREE) 参考: © 2012 Adobe Systems Incorporated. All Rights Reserved.
39.
3.Blitting(ブリット)
• StageにBitmapを置いて、自分で扱うビットマッ プデータをBitmapData.copyPixels()で ゲームエリアに手動的に描く。 • つまり、レンダリングを完全に自分で担当。 • 固い条件が満たされる場合、効果的である。 • 解像度の高い(Retina)画面には スケールしないので寿命が… © 2012 Adobe Systems Incorporated. All Rights Reserved.
40.
4. Stage3D © 2012
Adobe Systems Incorporated. All Rights Reserved.
41.
4.Stage3D
• Flash 11.0からの新機能。ActionScriptから シェーダープログラムを直接GPUに送れる。 • AGAL (Adobe Graphics Assembly Language) を利用する • AGAL とはこんな感じ: m44 op, va0, vc0 dp4 op.x, va0, vc0 dp4 op.y, va0, vc1 • 一般的な開発者には dp4 op.z, va0, vc2 dp4 op.w, va0, vc3 ライブラリーが必要! m44 op, va0, vc0 mov v0, va1 (ヒトリデハキケンジャ!) © 2012 Adobe Systems Incorporated. All Rights Reserved.
42.
Stage3D ライブラリー
( コレヲ サズケヨウ!) • オフィシャルライブラリー (free, open source): • Starling (2D) • Away3D • ニーズによって他にも様々… N2D2 Genome2D © 2012 Adobe Systems Incorporated. All Rights Reserved.
43.
Stage3D 事例 © 2012
Adobe Systems Incorporated. All Rights Reserved.
44.
今後のトピック © 2012 Adobe
Systems Incorporated. All Rights Reserved.
45.
AS3 ワーカー
作成 メイン バックグラウンド ワーカー ワーカー MessageChannel (既存 API (制限付き) Flash Player) mutex 共用メモリー © 2012 Adobe Systems Incorporated. All Rights Reserved.
46.
AS3 ワーカー
作成 メイン バックグラウンド ワーカー ワーカー MessageChannel (既存 API (制限付き) Flash Player) mutex 共用メモリー © 2012 Adobe Systems Incorporated. All Rights Reserved.
47.
Longer term
新コンパ プロジェクト Flash Proを ActionScript イラー! モノクル より進化! の次版・・? © 2012 Adobe Systems Incorporated. All Rights Reserved.
48.
ご清聴ありがとうございました。
andhall@adobe.com @fenomas © 2012 Adobe Systems Incorporated. All Rights Reserved.
49.
© 2012 Adobe
Systems Incorporated. All Rights Reserved.
Download