Submit Search
Androidでvulkan事始め
Download as PPTX, PDF
4 likes
7,819 views
章暢 藤井
2017/3/11に行った「激突!Aiming VS CloverLab」での登壇資料です
Engineering
Read more
1 of 32
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
More Related Content
PDF
Xbyakの紹介とその周辺
MITSUNARI Shigeo
PDF
UniRx完全に理解した
torisoup
PDF
UniTask入門
torisoup
PPTX
【Unity道場Houdini編】Houdini Engine とプロシージャル法
UnityTechnologiesJapan002
PPTX
未来のプログラミング技術をUnityで -UniRx-
torisoup
PDF
ObserverパターンからはじめるUniRx
torisoup
PDF
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
KLab Inc. / Tech
PDF
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
Drecom Co., Ltd.
Xbyakの紹介とその周辺
MITSUNARI Shigeo
UniRx完全に理解した
torisoup
UniTask入門
torisoup
【Unity道場Houdini編】Houdini Engine とプロシージャル法
UnityTechnologiesJapan002
未来のプログラミング技術をUnityで -UniRx-
torisoup
ObserverパターンからはじめるUniRx
torisoup
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
KLab Inc. / Tech
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
Drecom Co., Ltd.
What's hot
(20)
PPTX
[CEDEC2017] LINEゲームのセキュリティ診断手法
LINE Corporation
PDF
【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術
Unity Technologies Japan K.K.
PDF
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
Kazuhito Miura
PDF
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
UnityTechnologiesJapan002
PDF
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Yoshifumi Kawai
PPTX
はじめてのUniRx
torisoup
PPTX
UE4を使用したゲーム開発の為のネットワーク対応その1
fuminyami
PDF
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
PPTX
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech
PPTX
30分で分かる!OSの作り方
uchan_nos
PPTX
worker_threadsを使った実装の勘所
yo_waka
PDF
Game Creators Conference 2019 Keiji Kikuchi
Keiji Kikuchi
PDF
MagicOnion入門
torisoup
PDF
ゲーム開発者のための C++11/C++14
Ryo Suzuki
PDF
【Unity】 Behavior TreeでAIを作る
torisoup
PDF
Unity道場08「絵づくりの基礎」ライティング虎の巻
小林 信行
PDF
Goroutineと channelから はじめるgo言語
Takuya Ueda
PDF
Unityではじめるオープンワールド入門 アーティスト編
Unity Technologies Japan K.K.
PPTX
Photonのサービス選択の勘どころ
GMO GlobalSign Holdings K.K.
PDF
IL2CPPに関する軽い話
Wooram Yang
[CEDEC2017] LINEゲームのセキュリティ診断手法
LINE Corporation
【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術
Unity Technologies Japan K.K.
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
Kazuhito Miura
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
UnityTechnologiesJapan002
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
Yoshifumi Kawai
はじめてのUniRx
torisoup
UE4を使用したゲーム開発の為のネットワーク対応その1
fuminyami
Unityでパフォーマンスの良いUIを作る為のTips
Unity Technologies Japan K.K.
アプリ起動時間高速化 ~推測するな、計測せよ~
gree_tech
30分で分かる!OSの作り方
uchan_nos
worker_threadsを使った実装の勘所
yo_waka
Game Creators Conference 2019 Keiji Kikuchi
Keiji Kikuchi
MagicOnion入門
torisoup
ゲーム開発者のための C++11/C++14
Ryo Suzuki
【Unity】 Behavior TreeでAIを作る
torisoup
Unity道場08「絵づくりの基礎」ライティング虎の巻
小林 信行
Goroutineと channelから はじめるgo言語
Takuya Ueda
Unityではじめるオープンワールド入門 アーティスト編
Unity Technologies Japan K.K.
Photonのサービス選択の勘どころ
GMO GlobalSign Holdings K.K.
IL2CPPに関する軽い話
Wooram Yang
Ad
Viewers also liked
(20)
PDF
MessagePack-CSharpってシャープなの?@激突! Aiming x CloverLab [クライアント対決]部門
yuki maeta
PDF
サービスが生まれてから死ぬまで @激突! Aiming x CloverLab [インフラ対決]部門
Akihiro Sugeno
PDF
ぼくとCassandraの6にちせんそう
Yoshinori Sato
PDF
ゲーム会社で ゲーム以外のことを開発してる話
Riou Tomita
PPTX
スマホ版ログレスにポストエフェクトシステムを導入した話
章暢 藤井
PPTX
Vrushali asinment1
vrushali gujar
PPTX
ゲームエンジンの歴史概要
Takashi Imagire
PPTX
Mini clase
karina zabala
PPTX
Common atmospheric phenomena
Jimnaira Abanto
PDF
Cuadernillo de logica
Viviana Falcón
PDF
10 Claves para auto Motivarse
Susana Gallardo
PDF
Chef Robin and Iv-Angelo Interview
Hasmik Rostomyan
PPTX
Basics of HVAC by Jitendra Jha
Jitendra Jha
PPTX
Suggested order and visuals for oral presentation
Jimnaira Abanto
DOCX
Guía orientadora para la reflexión teórica y la elaboración del trabajo fina...
saladaniela
PDF
Guia del auditor y contador para el dictamen fiscal
Miguel A. C. Sánchez
PPTX
Introduction of Rancher at OSC Tokyo 17 Spring
Go Chiba
PPTX
Asthma
Hend Hassan
PPTX
Looking For New 2017 Kia Soul Overview
Robert Patel
PDF
Guía sobre DDHH para ONG. CSW 2017
Evangelina Garcia Prince
MessagePack-CSharpってシャープなの?@激突! Aiming x CloverLab [クライアント対決]部門
yuki maeta
サービスが生まれてから死ぬまで @激突! Aiming x CloverLab [インフラ対決]部門
Akihiro Sugeno
ぼくとCassandraの6にちせんそう
Yoshinori Sato
ゲーム会社で ゲーム以外のことを開発してる話
Riou Tomita
スマホ版ログレスにポストエフェクトシステムを導入した話
章暢 藤井
Vrushali asinment1
vrushali gujar
ゲームエンジンの歴史概要
Takashi Imagire
Mini clase
karina zabala
Common atmospheric phenomena
Jimnaira Abanto
Cuadernillo de logica
Viviana Falcón
10 Claves para auto Motivarse
Susana Gallardo
Chef Robin and Iv-Angelo Interview
Hasmik Rostomyan
Basics of HVAC by Jitendra Jha
Jitendra Jha
Suggested order and visuals for oral presentation
Jimnaira Abanto
Guía orientadora para la reflexión teórica y la elaboración del trabajo fina...
saladaniela
Guia del auditor y contador para el dictamen fiscal
Miguel A. C. Sánchez
Introduction of Rancher at OSC Tokyo 17 Spring
Go Chiba
Asthma
Hend Hassan
Looking For New 2017 Kia Soul Overview
Robert Patel
Guía sobre DDHH para ONG. CSW 2017
Evangelina Garcia Prince
Ad
Androidでvulkan事始め
1.
AndroidでVulkan事始め 株式会社Aiming 藤井 章暢
2.
アジェンダ • 自己紹介 • Vulkanとは? •
Vulkanの特徴 • Androidでこと始めるには • Vulkanの対応状況 • まとめ
3.
自己紹介 • 名前: – 藤井
章暢 – ふじい あきのぶ • 職業: – エンジニア • 好きなもの: – ゲーム、犬、きれいな絵 • その他: – Facebookで色々つぶやいています
4.
Vulkanとは? What is Vulkan?
5.
Vulkanとは? • 「Open GL」などのAPI策定を行っている 「Khronos
Group」が発表した グラフィックスAPI • Windows、Linux、Androidに対応 – Macは対応してません・・・ – Metalを使えということですね、わかります
6.
Vulkanとは? • 2016年2月16日 LunarG社から Windows、Linuxの Version1.0
SDKをリリース – 1ヶ月に2~3回アップデートしている • Android NDK, Revision 12から 正式サポート開始(2016年6月) • API Level 24(Android 7.0)以上必要 – 大抵の端末はまだ対応していない
7.
Vulkanの特徴(メリット編) Features of Vulkan
8.
Low Level API •
ハードウェアに近いAPI • コマンド発行のコストが低い
9.
マルチスレッド対応 • マルチスレッド前提のAPI設計なので CPU処理を分散させやすい
10.
OpenGLは・・・? • マルチスレッド向き設計ではなかった ので、1コアが頑張らなければならない ことがざらにあった。
11.
Vulkanは・・・? • 各スレッドがCommandBufferに 描画コマンドを積み込んで、 CommandQueueに積み込めば分散可能
12.
SPIR-Vに則ったシェーダ仕様 • VulkanはSPIR-Vという中間言語に 則った仕様でシェーダが動いている
13.
何がメリット? • 決まったフォーマットがあるので 事前にシェーダをコンパイルしておける – OpenGLはランタイムでコンパイルする仕様 なので、無駄なオーバーヘッドがかかってた •
SPIR-Vのフォーマットさえ守っていれば コンパイラに流し込んで動かせる
14.
何がメリット? • KhronosGroup/glslang – https://github.com/KhronosGroup/glslang •
SPIR-Vフォーマットで出力できれば 元の言語はなんでもいい • その気になれば 自分の好きな言語でシェーダーが書ける
15.
Vulkanの特徴(デメリット編) Features of Vulkan
16.
ざっくりとした違い • Khronos Vulkanがリリースされたようなのでメモ •
http://qiita.com/eaglesakura/items/6ac27f2157fb18a98531
17.
移植には向かない • Vulkanに載せ替えたからと言って 速くなるわけではない – CPU処理を速くするものなので 描画自体が速くなるわけではない –
余計なオーバーヘッドを下げるには 設計から見直す必要がある
18.
きっちり設計した レンダラーシステムが必要 • すべての描画設定をプログラムで 制御する必要がある – OpenGLは途中でブレンドステートや設定を 変更するのは容易 –
対してVulkanは諸々の設定がまとまりなので ちょっとだけ変更がすごく面倒
19.
自前で管理しないといけない ものが非常に多い • ドライバがやってくれていたものを自前で管理する必要がある – グラフィックメモリ、アロケータ、Etc…
20.
結局どういう人向け? • 描画処理でかかるオーバーヘッドを 減らしてCPU側に処理時間をかけたい人 – CPU側で頑張る画像処理アプリなど
21.
結局どういう人向け? • 最新技術を取り入れたい人 – いち早く取り込んで新しい技術の検証に 使いたい場合は自分で取り込むのが最善 •
自社エンジンや自社フレームワークに 組み込みたい人 – 既存のエンジンやフレームワークの対応を 待つのはどうしても時間がかかる
22.
Androidでこと始めるには Getting Start with
Android
23.
Androidでこと始めるには • まずは公式のサンプルを動かそう – googlesamples/vulkan-basic-samples –
https://github.com/googlesamples/vulkan-basic-samples • 必要環境: – Android Studio 2.2.2以上 – Android SDK API Level 24以上 – Android NDK Revision 12以上
24.
Androidでこと始めるには • SaschaWillems/Vulkan – https://github.com/SaschaWillems/Vulkan –
超優秀なサンプル – Vulkanの対応する全プラットフォームの サンプルがあります – 一部フレームワーク化されているので ライブラリ作成の参考にもなります
25.
Androidじゃないけど・・・ • akinobufujii/VulkanSamples – https://github.com/akinobufujii/VulkanSamples •
藤井が作ったWindows版のサンプルです • みんな大好き、男気一本ソース – 汚くてすみません・・・(´・ω:;.:... • 煮るなり焼くなり好きにしてください – Android版も公開予定!(予定は未定)
26.
Vulkanの対応状況 Correspondence situation of
"Vulkan"
27.
Unity • Unity5.6からVulkan APIをサポート –
記事によるとレンダリングパフォーマンスが 最大60%向上したらしい
28.
Unreal Engine 4 •
GithubにVulkanに対応した ソースコードを公開中 – Unreal Engine 4のアカウントと Githubのアカウントを紐付けないと ソースコードは見れない • YouTubeでデモを公開中 – https://www.youtube.com/watch?v=FnKu7MLB7vQ – Galaxy S7上でのデモ
29.
Cocos2d-x
30.
まとめ Summary
31.
まとめ • スマホにも低レベルのレンダリングAPIが 用意されてきた – ただし、実用化されるにはまだ掛かりそう •
有名なエンジンやフレームワークも 対応を見せ始めている • 今のうちに触っておけば、 実用化されるときに困らないかも 知れない – ただし敷居は高い、めっちゃ高い
32.
ありがとうございました!
Download