SlideShare a Scribd company logo
HTML5
Animation
  Cohei Aoki
   @coa00
About Me

• 音楽や映像を生成するAlgorithmのCodeを
 書くのが好き。

• インタラクティブなアート好き。
• ROKUROの主催
  http://www.rokuro.net
My GARAKUTA Works
My GARAKUTA Works




Faderの動きで音を演奏
My GARAKUTA Works




Faderの動きで音を演奏
My GARAKUTA Works




Faderの動きで音を演奏      波形を8bitっぽい映像
My GARAKUTA Works




Faderの動きで音を演奏      波形を8bitっぽい映像
My GARAKUTA Works




Faderの動きで音を演奏      波形を8bitっぽい映像




Ledの光を音に変換
My GARAKUTA Works




Faderの動きで音を演奏      波形を8bitっぽい映像




Ledの光を音に変換
My GARAKUTA Works




Faderの動きで音を演奏      波形を8bitっぽい映像




Ledの光を音に変換        時間で映像を歪める
My GARAKUTA Works




Faderの動きで音を演奏      波形を8bitっぽい映像




Ledの光を音に変換        時間で映像を歪める
本日のお話

HTML5で強化された描画やアニメー
ションまわりのお話します!
HTML4までのアニメーション




• Flashやgifによるアニメーション
• JavaScriptによるCSSなどを制御
 したアニメーション
HTML4のメディアファルのコントロール



  • 独自にAPIを作成しない限りメディアファ
       イルの制御はできない。

DOM/CSS      Flash       Image   Sound

制御可能     制御できない      画像の加工が        音を鳴らすことが
                      できない           できない




                  HTML(JS)
HTML5を使わないアニメーション


1.JavaScriptはシングルタスクであるため
  タスクの状態によってスムーズに動かない
  場合がある。→CSS3によるアニメーショ
  ンやレンダリングの調整が必要。

2.プログラムによる複雑な描画ができない。

3.CPUのみで描画演算される。
HTML5対応による変化
HTML5対応による変化


• JavaScriptから直接メディアをコン
 トロールができる。

• マルチデバイスを考慮した処理の最適化
 が考慮された設計。

• GPUによる処理速度向上。
• 3D表現が可能
HTML5とメディアファイル

  • これまでDOMやCSSの制御だけだったアニメー
       ションが図形描画やメディアを使ったアニメー
       ションを実現

DOM/CSS      Canvas       SVG   audio

         アニメーション
制御可能
           の制御        画像の加工        音の制御




                   HTML(JS)
HTML5から追加されたアニメーション
         要素
HTML5から追加されたアニメーション
         要素

1.Canvas(2D)

2.SVG

3.WebGL

4.CSS3
Canvasの特徴


1. 外部データをもとに自由にRectangles,
   Lines, Curves, Arcs, Complex
   Shapes,Textの描画

2. 外部のJPEGs, GIFs, PNGs, and SVGsの
   表示、加工

3. 複数のレイヤーによる重ね合わせによる表現が
   可能
Canvasのアニメーションプロセス

1. Canvasの初期化

 1. 初期画面の生成

2. レンダリング

 1. 画面のクリア

 2. 状態のアップデート

 3. ビットマップの描画
Canvasの描画プロセス

GPUがサポートされている場合、GPUが使われるため高速


               Canvas Memory
                                  GPU
   render                       Process
                BitMap Shared
                   Memory



サポートされてない場合はブラウザのプロセスで処理される。

               BitMap Shared
                  Memory        Browser
   render
                     Canvas     Process
                     Memory
Canvasの描画を軽くするには?




1.描画生成をできるだけ一回で行う

2.レンダリング範囲を限定する
レンダリング範囲を限定する
描画範囲を限定するために動くタイミングが異なるもの
は別レイヤーにし、クリア範囲を小さくする。

<canvas id=“background” style="z-index: 0”></
canvas>
<canvas id=“foreground” style=“z-index: 1”></
canvas>

       background
                    クリアする範囲をこの範囲に限定




                       foreground
描画処理の回数を少なくする!
描画処理は一括で行うほうが負荷がかからない。

for (var i = 0; i < 100; i++)     context.beginPath();
 {                                for (var i = 0; i < 100; i++) {
    var p1 = p[i];                    var p1 = p[i]; var p2 = p[i+1];
    var p2 = p[i+1];                  context.moveTo(p1.x, p1.y);
    context.beginPath();              context.lineTo(p2.x, p2.y);
    context.moveTo(p1.x, p1.y);   }
    context.lineTo(p2.x, p2.y);   context.stroke();
    context.stroke();
}
アニメーションの更新(これまで)



setInterVal,setTimeoutをつかって一定の速
度でレンダリング

1. バックグランドでも動いてしまう。

2. 止まっていたりゆっくり動くものに対しても
   FPSが一定。

3. 処理がもたつつくと待ちタスクがたまってしま
   う。
アニメーションの更新(今後)

requestAnimationFrameの導入




•レンダリング速度の最適化がされる
•処理待ちタスクがたまらない
SVG(Scalable Vector
      Graphics)
1. ベクター形式で描画(Canvasはピクセル形式)

2. AIやFlashなどから書き出しが可能(Canvas
 も可能になってきている。)

3. ベクターをXMLで出力

4. 画像が複雑になるとサイズがかなり大きくなっ
 てしまう。
例
WebGL

1. シェーダーHTML、DOM内に定義することが
   可能。

2. できるだけシェーダで処理をさせるようにする
   ことでGPUを最大活用することができる。

3. 同時に2万個以上のオブジェクトの描画可能
   (環境依存)

4. iOS,Androidのブラウザは未サポート
情報源

• http://www.html5rocks.com
• http://developer.apple.com/
 library/safari/navigation/

• https://developer.mozilla.org/
 ja/

More Related Content

PPTX
webアプリケーションフレームワークの話
KEY
Ameba × Akamai技術交流会
PPTX
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
PPTX
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
PPTX
とあるデータの保存方法(エターナルサーブ)
PDF
ReSharperを使ってみた
PDF
Fireworks Lover Advent calender 2013 1日目 Fireworks de Genetator
PDF
VisualStudinoの役に立ちそうな拡張機能をまとめてみた
webアプリケーションフレームワークの話
Ameba × Akamai技術交流会
CoffeeScript+enchant.jsでクロージャが気持よくかけた話
新卒3年目のぼくが、でぶおぷす???なインフラおじさん方にAnsibleを導入してみた
とあるデータの保存方法(エターナルサーブ)
ReSharperを使ってみた
Fireworks Lover Advent calender 2013 1日目 Fireworks de Genetator
VisualStudinoの役に立ちそうな拡張機能をまとめてみた

What's hot (20)

PPTX
ほんとうはこわいAnsible
PDF
Introduction of mruby & Webruby script example
PDF
Ansibleの現在とこれから
PPTX
なんでもハッカソン In 福井
PPTX
もしも… Javaでヘテロジニアスコアが使えたら…
PPTX
[EC-CUBE名古屋]仮想サーバでEC-CUBE環境を作ってみようハンズオン
PDF
AWS Builders KANSAI - re:Inventの遊び方
PPTX
MAASで管理するBaremetal server
PPTX
アセンブラ短歌 On web
PDF
レガシーシステムのDBマイグレーションし始めた話
PPTX
JSでファミコンエミュレータを作った時の話
PDF
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
PPTX
As you like, PHP on Azure - お気に召すままに!
PDF
RGで生き抜くためのレンタルサーバー講座ヽ(•̀ω•́ )ゝ✧
PDF
NUTハッカソン2014成果報告
PDF
BlenderのAlembic状況(2016/6/26)
PDF
関係者も納得する既存サイトをクラウド化する方法 JAWS-UGクラウド女子会一回目2011/01
PPTX
Virtual boxからVM Importする
PDF
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint
PDF
カスタムメモリマネージャと高速なメモリアロケータについて
ほんとうはこわいAnsible
Introduction of mruby & Webruby script example
Ansibleの現在とこれから
なんでもハッカソン In 福井
もしも… Javaでヘテロジニアスコアが使えたら…
[EC-CUBE名古屋]仮想サーバでEC-CUBE環境を作ってみようハンズオン
AWS Builders KANSAI - re:Inventの遊び方
MAASで管理するBaremetal server
アセンブラ短歌 On web
レガシーシステムのDBマイグレーションし始めた話
JSでファミコンエミュレータを作った時の話
超絶技巧プログラミングと Ruby 3.0 (大江戸 Ruby 会議 05 コミッタ LT)
As you like, PHP on Azure - お気に召すままに!
RGで生き抜くためのレンタルサーバー講座ヽ(•̀ω•́ )ゝ✧
NUTハッカソン2014成果報告
BlenderのAlembic状況(2016/6/26)
関係者も納得する既存サイトをクラウド化する方法 JAWS-UGクラウド女子会一回目2011/01
Virtual boxからVM Importする
やすい・はやい・うまいMTのホスティング環境を求めて - jaws-ug-3to-2013-sprint
カスタムメモリマネージャと高速なメモリアロケータについて
Ad

Viewers also liked (20)

PPTX
Animales
PPT
Ceremonia de clausura
PPTX
Antioxidant nutrients
PPTX
Vietnamese dishes
PDF
Hunger in Brown County 2012
KEY
PBA USA - presentation
PPTX
Biodiversidad
PPTX
Tècnica Anestesica Directa al dentario inferior
PPT
Trade globalization
PDF
Brown County UW-Extension Food Security Presentation
PPT
Optical Illusions
PPTX
Trade and global development
PPTX
Comparison between barranquilla and bogota
PPTX
Vietnamese cuisine
PDF
Interview questions
PPSX
Quality improvement
PPTX
American literature
PDF
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
PPTX
Building awareness – be ready to strengthen national response mechanism: diff...
PDF
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
Animales
Ceremonia de clausura
Antioxidant nutrients
Vietnamese dishes
Hunger in Brown County 2012
PBA USA - presentation
Biodiversidad
Tècnica Anestesica Directa al dentario inferior
Trade globalization
Brown County UW-Extension Food Security Presentation
Optical Illusions
Trade and global development
Comparison between barranquilla and bogota
Vietnamese cuisine
Interview questions
Quality improvement
American literature
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
Building awareness – be ready to strengthen national response mechanism: diff...
IJERD (www.ijerd.com) International Journal of Engineering Research and Devel...
Ad

Similar to Html5勉強会資料 2012821 (20)

PDF
Canvas勉強会
PPTX
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
PPTX
インタラクティブコンテンツにおけるHTML5とFlash
KEY
HTML5で作るスマホブラウザゲーム
PDF
静岡Developers勉強会 HTML5&CSS3
PDF
SVGでつくるインタラクティブWebアプリケーション
PDF
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら
KEY
HTML5でスマートフォン開発の理想と現実
PDF
Adobe Creative SuiteではじまるHTML5の民主化
KEY
12.09.08 明星和楽2012 KLabハンズオンセッション
ODP
20130202 fe勉強会 canvas
PDF
Concentrated HTML5 & Attractive HTML5
PDF
初心者向けJavaScript/HTML5ゲームプログラミング
PDF
Sneak Previews (ADC MEETUP ROUND 01)
PDF
Web Technology features with Firefox 3.6 / Gecko 1.9.2 and later
PDF
HTML5 & The Web Platform
PPTX
Workshop1-01
PDF
Firefox 4 with SVG
KEY
iOSプログラマへ。HTML5 Canvasがおもしろい!
PDF
Tech.G HTML5 プレ講座
Canvas勉強会
F-site発表資料「Flashユーザーが今覚えておきたいHTML5」
インタラクティブコンテンツにおけるHTML5とFlash
HTML5で作るスマホブラウザゲーム
静岡Developers勉強会 HTML5&CSS3
SVGでつくるインタラクティブWebアプリケーション
Flashじゃなくて HTML5で ビュンビュン動くサイトを 作ってと言われたら
HTML5でスマートフォン開発の理想と現実
Adobe Creative SuiteではじまるHTML5の民主化
12.09.08 明星和楽2012 KLabハンズオンセッション
20130202 fe勉強会 canvas
Concentrated HTML5 & Attractive HTML5
初心者向けJavaScript/HTML5ゲームプログラミング
Sneak Previews (ADC MEETUP ROUND 01)
Web Technology features with Firefox 3.6 / Gecko 1.9.2 and later
HTML5 & The Web Platform
Workshop1-01
Firefox 4 with SVG
iOSプログラマへ。HTML5 Canvasがおもしろい!
Tech.G HTML5 プレ講座

Html5勉強会資料 2012821

Editor's Notes