SlideShare a Scribd company logo
AndroidでVulkan事始め
株式会社Aiming
藤井 章暢
アジェンダ
• 自己紹介
• Vulkanとは?
• Vulkanの特徴
• Androidでこと始めるには
• Vulkanの対応状況
• まとめ
自己紹介
• 名前:
– 藤井 章暢
– ふじい あきのぶ
• 職業:
– エンジニア
• 好きなもの:
– ゲーム、犬、きれいな絵
• その他:
– Facebookで色々つぶやいています
Vulkanとは?
What is Vulkan?
Vulkanとは?
• 「Open GL」などのAPI策定を行っている
「Khronos Group」が発表した
グラフィックスAPI
• Windows、Linux、Androidに対応
– Macは対応してません・・・
– Metalを使えということですね、わかります
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)以上必要
– 大抵の端末はまだ対応していない
Vulkanの特徴(メリット編)
Features of Vulkan
Low Level API
• ハードウェアに近いAPI
• コマンド発行のコストが低い
マルチスレッド対応
• マルチスレッド前提のAPI設計なので
CPU処理を分散させやすい
OpenGLは・・・?
• マルチスレッド向き設計ではなかった
ので、1コアが頑張らなければならない
ことがざらにあった。
Vulkanは・・・?
• 各スレッドがCommandBufferに
描画コマンドを積み込んで、
CommandQueueに積み込めば分散可能
SPIR-Vに則ったシェーダ仕様
• VulkanはSPIR-Vという中間言語に
則った仕様でシェーダが動いている
何がメリット?
• 決まったフォーマットがあるので
事前にシェーダをコンパイルしておける
– OpenGLはランタイムでコンパイルする仕様
なので、無駄なオーバーヘッドがかかってた
• SPIR-Vのフォーマットさえ守っていれば
コンパイラに流し込んで動かせる
何がメリット?
• KhronosGroup/glslang
– https://github.com/KhronosGroup/glslang
• SPIR-Vフォーマットで出力できれば
元の言語はなんでもいい
• その気になれば
自分の好きな言語でシェーダーが書ける
Vulkanの特徴(デメリット編)
Features of Vulkan
ざっくりとした違い
• Khronos Vulkanがリリースされたようなのでメモ
• http://qiita.com/eaglesakura/items/6ac27f2157fb18a98531
移植には向かない
• Vulkanに載せ替えたからと言って
速くなるわけではない
– CPU処理を速くするものなので
描画自体が速くなるわけではない
– 余計なオーバーヘッドを下げるには
設計から見直す必要がある
きっちり設計した
レンダラーシステムが必要
• すべての描画設定をプログラムで
制御する必要がある
– OpenGLは途中でブレンドステートや設定を
変更するのは容易
– 対してVulkanは諸々の設定がまとまりなので
ちょっとだけ変更がすごく面倒
自前で管理しないといけない
ものが非常に多い
• ドライバがやってくれていたものを自前で管理する必要がある
– グラフィックメモリ、アロケータ、Etc…
結局どういう人向け?
• 描画処理でかかるオーバーヘッドを
減らしてCPU側に処理時間をかけたい人
– CPU側で頑張る画像処理アプリなど
結局どういう人向け?
• 最新技術を取り入れたい人
– いち早く取り込んで新しい技術の検証に
使いたい場合は自分で取り込むのが最善
• 自社エンジンや自社フレームワークに
組み込みたい人
– 既存のエンジンやフレームワークの対応を
待つのはどうしても時間がかかる
Androidでこと始めるには
Getting Start with Android
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以上
Androidでこと始めるには
• SaschaWillems/Vulkan
– https://github.com/SaschaWillems/Vulkan
– 超優秀なサンプル
– Vulkanの対応する全プラットフォームの
サンプルがあります
– 一部フレームワーク化されているので
ライブラリ作成の参考にもなります
Androidじゃないけど・・・
• akinobufujii/VulkanSamples
– https://github.com/akinobufujii/VulkanSamples
• 藤井が作ったWindows版のサンプルです
• みんな大好き、男気一本ソース
– 汚くてすみません・・・(´・ω:;.:...
• 煮るなり焼くなり好きにしてください
– Android版も公開予定!(予定は未定)
Vulkanの対応状況
Correspondence situation of "Vulkan"
Unity
• Unity5.6からVulkan APIをサポート
– 記事によるとレンダリングパフォーマンスが
最大60%向上したらしい
Unreal Engine 4
• GithubにVulkanに対応した
ソースコードを公開中
– Unreal Engine 4のアカウントと
Githubのアカウントを紐付けないと
ソースコードは見れない
• YouTubeでデモを公開中
– https://www.youtube.com/watch?v=FnKu7MLB7vQ
– Galaxy S7上でのデモ
Cocos2d-x
まとめ
Summary
まとめ
• スマホにも低レベルのレンダリングAPIが
用意されてきた
– ただし、実用化されるにはまだ掛かりそう
• 有名なエンジンやフレームワークも
対応を見せ始めている
• 今のうちに触っておけば、
実用化されるときに困らないかも
知れない
– ただし敷居は高い、めっちゃ高い
ありがとうございました!

More Related Content

PDF
Xbyakの紹介とその周辺
PDF
UniRx完全に理解した
PDF
UniTask入門
PPTX
【Unity道場Houdini編】Houdini Engine とプロシージャル法
PPTX
未来のプログラミング技術をUnityで -UniRx-
PDF
ObserverパターンからはじめるUniRx
PDF
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
PDF
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介
Xbyakの紹介とその周辺
UniRx完全に理解した
UniTask入門
【Unity道場Houdini編】Houdini Engine とプロシージャル法
未来のプログラミング技術をUnityで -UniRx-
ObserverパターンからはじめるUniRx
Android向けUnity製ゲーム最適化のためのCI/CDと連携した自動プロファイリングシステム
CEDEC 2016 Metal と Vulkan を用いた水彩画レンダリング技法の紹介

What's hot (20)

PPTX
[CEDEC2017] LINEゲームのセキュリティ診断手法
PDF
【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術
PDF
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
PDF
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
PDF
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
PPTX
はじめてのUniRx
PPTX
UE4を使用したゲーム開発の為のネットワーク対応その1
PDF
Unityでパフォーマンスの良いUIを作る為のTips
PPTX
アプリ起動時間高速化 ~推測するな、計測せよ~
PPTX
30分で分かる!OSの作り方
PPTX
worker_threadsを使った実装の勘所
PDF
Game Creators Conference 2019 Keiji Kikuchi
PDF
MagicOnion入門
PDF
ゲーム開発者のための C++11/C++14
PDF
【Unity】 Behavior TreeでAIを作る
PDF
Unity道場08「絵づくりの基礎」ライティング虎の巻
PDF
Goroutineと channelから はじめるgo言語
PDF
Unityではじめるオープンワールド入門 アーティスト編
PPTX
Photonのサービス選択の勘どころ
PDF
IL2CPPに関する軽い話
[CEDEC2017] LINEゲームのセキュリティ診断手法
【Unite 2017 Tokyo】最適化をする前に覚えておきたい技術
JenkinsとDockerって何が良いの? 〜言うてるオレもわからんわ〜 #jenkinsstudy
【Unite Tokyo 2019】今すぐ現場で覚えておきたい最適化技法 ~「ゲシュタルト・オーディン」開発における最適化事例~
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
はじめてのUniRx
UE4を使用したゲーム開発の為のネットワーク対応その1
Unityでパフォーマンスの良いUIを作る為のTips
アプリ起動時間高速化 ~推測するな、計測せよ~
30分で分かる!OSの作り方
worker_threadsを使った実装の勘所
Game Creators Conference 2019 Keiji Kikuchi
MagicOnion入門
ゲーム開発者のための C++11/C++14
【Unity】 Behavior TreeでAIを作る
Unity道場08「絵づくりの基礎」ライティング虎の巻
Goroutineと channelから はじめるgo言語
Unityではじめるオープンワールド入門 アーティスト編
Photonのサービス選択の勘どころ
IL2CPPに関する軽い話
Ad

Viewers also liked (20)

PDF
MessagePack-CSharpってシャープなの?@激突! Aiming x CloverLab [クライアント対決]部門
PDF
サービスが生まれてから死ぬまで @激突! Aiming x CloverLab [インフラ対決]部門
PDF
ぼくとCassandraの6にちせんそう
PDF
ゲーム会社で
ゲーム以外のことを開発してる話
PPTX
スマホ版ログレスにポストエフェクトシステムを導入した話
PPTX
Vrushali asinment1
PPTX
ゲームエンジンの歴史概要
PPTX
Mini clase
PPTX
Common atmospheric phenomena
PDF
Cuadernillo de logica
PDF
10 Claves para auto Motivarse
PDF
Chef Robin and Iv-Angelo Interview
PPTX
Basics of HVAC by Jitendra Jha
PPTX
Suggested order and visuals for oral presentation
DOCX
Guía orientadora para la reflexión teórica y la elaboración del trabajo fina...
PDF
Guia del auditor y contador para el dictamen fiscal
PPTX
Introduction of Rancher at OSC Tokyo 17 Spring
PPTX
Asthma
PPTX
Looking For New 2017 Kia Soul Overview
PDF
Guía sobre DDHH para ONG. CSW 2017
MessagePack-CSharpってシャープなの?@激突! Aiming x CloverLab [クライアント対決]部門
サービスが生まれてから死ぬまで @激突! Aiming x CloverLab [インフラ対決]部門
ぼくとCassandraの6にちせんそう
ゲーム会社で
ゲーム以外のことを開発してる話
スマホ版ログレスにポストエフェクトシステムを導入した話
Vrushali asinment1
ゲームエンジンの歴史概要
Mini clase
Common atmospheric phenomena
Cuadernillo de logica
10 Claves para auto Motivarse
Chef Robin and Iv-Angelo Interview
Basics of HVAC by Jitendra Jha
Suggested order and visuals for oral presentation
Guía orientadora para la reflexión teórica y la elaboración del trabajo fina...
Guia del auditor y contador para el dictamen fiscal
Introduction of Rancher at OSC Tokyo 17 Spring
Asthma
Looking For New 2017 Kia Soul Overview
Guía sobre DDHH para ONG. CSW 2017
Ad

Androidでvulkan事始め