「SwiftShader」の版間の差分

提供:MonoBook
編集の要約なし
 
6行目: 6行目:
SwiftShaderの用途は[[Vulkan]]の「理想的な動作」を確認するためのものです。
SwiftShaderの用途は[[Vulkan]]の「理想的な動作」を確認するためのものです。


[[Vulkan]]は最近でこそ[[Steam Deck]] ([[Steam OS]])などでも使われだしましたが永らく[[Android]]専用みたいな感じでした。Android向けの[[GPU]]([[SoC]])は実質的に[[NVIDIA]][[AMD]][[Intel]]の三社しかない[[PC]]向けとは比べ物にならないほど種類が多く、しかも多くのスマホはOSがバージョンアップされない関係でデバイスドライバもバージョンアップされず放置され、それらのVulkanの挙動がメチャクチャという問題がありました。
[[Vulkan]]は最近でこそ[[Steam Deck]] ([[Steam OS]])などでも使われだしましたが永らく[[Android]]専用みたいな感じでした。実質的に[[NVIDIA]]、[[AMD]]、[[Intel]]の三社しかない[[PC]]向けと異なり、Android向けの[[GPU]]([[SoC]])は比べ物にならないほど種類が多く、しかも多くの[[スマホ]]が[[OS]]のバージョンアップを短期間で打ち切るせいでGPUの[[デバイスドライバ]]も更新されず[[バグ]]があっても放置、同じ[[GPU]][[SoC]])を採用しているはずなのに機種ごとにVulkanの挙動がメチャクチャという問題がありました。


これが原因で不具合が出た際に「アプリが悪いのか」「GPUがクソなのか」の判断に困ることがありました。
これが原因で不具合が出た際に「アプリが悪いのか」「GPUがクソなのか」の判断に困ることがありました。

2024年10月1日 (火) 08:14時点における最新版

SwiftShader(すいふとしぇーだー)とは、Googleオープンソースのもとで開発しているVulkanCPU上で動かすデバイスドライバーです。

SwiftShaderを使うことでVulkanに対応したGPU(を搭載したビデオカード)がなくても、CPU上でVulkan対応の仮想ビデオカードを使えるという代物です。当然ながらSwiftShaderの激遅です。

用途[編集 | ソースを編集]

SwiftShaderの用途はVulkanの「理想的な動作」を確認するためのものです。

Vulkanは最近でこそSteam Deck (Steam OS)などでも使われだしましたが永らくAndroid専用みたいな感じでした。実質的にNVIDIAAMDIntelの三社しかないPC向けと異なり、Android向けのGPUSoC)は比べ物にならないほど種類が多く、しかも多くのスマホOSのバージョンアップを短期間で打ち切るせいでGPUのデバイスドライバも更新されずバグがあっても放置、同じGPUSoC)を採用しているはずなのに機種ごとにVulkanの挙動がメチャクチャという問題がありました。

これが原因で不具合が出た際に「アプリが悪いのか」「GPUがクソなのか」の判断に困ることがありました。

そこで登場したのが「めっちゃ遅いが完璧な動作をするSwiftShader」です。たとえば、あるVulkanを使ったアプリを開発していて不具合が出たとします。その際にSwiftShaderでは正常に動くが特定のGPUでは正常に動かない場合は「プログラムは悪くない」「GPUがクソ」と判断できます。

備考[編集 | ソースを編集]

スマホSnapdragonの採用が多くなったのもVulkanの実装がメチャクチャなのが原因です。アプリ開発者だけでなくスマホ利用者にも「ゲームするならSnapdragonが安心」という風潮が根付いたせいです。ただそのSnapdragon(のAdrenoシリーズ)ですら不具合が結構な頻度で発見されています。