NEUROMANTIC

自分でC/C++/UE4/Graphics/ゲームなどをやったことをメモするブログ

How is Vulkan defferent from previous graphics APIs?のメモ

developer.samsung.com

  • OpenGLのような昔のグラフィックスAPIは現在のGPUのデザインとは結構違う時期に設計されたものである。
  • 現代のGPUは無数なコアがあって、それを並列的に処理させてレンダリングなどに必要となる演算量をカバーすることになっている。
  • しかし、OpenGLはそれをまともに支援してないため性能が落ちる恐れがある。
  • OpenGLは全域的な状態マシンがあって、それをいちいち管理しなければならない。手続き的なモデルを持つ。
  • 現代のゲームはオブジェクト志向的になっていて、OpenGLのような「Implicit」なAPIをただ適用するのは無茶
  • Vulkanなどの最近この4年間ででたAPIは全てを明示的にしていて、現代のGPUのモデルの理念と一緒にしている。
  • Vulkan 1.0はOpenGL ES 3.1が支援できるハードウェアなら支援する。