タグ

iOSとGPUに関するs_ryuukiのブックマーク (5)

  • 【URP / iPhoneX】半透明描画の負荷 と カメラテクスチャブレンド負荷の比較

    はじめに オブジェクトを半透明で描画させたい時に、二つの方法があります。 Blendingを利用して、半透明描画する カメラのカラーテクスチャをシェーダー内で合成する どちらの方が負荷が高くなるのか気になったので、Instrumentsを利用して計測してみることにしました。 環境 Unity2022.3.23f1 URP14.0.10 シーンのセットアップ 計測のためにUnlit Colorシェーダーを適用したSphereを画面に配置したシーンを用意しました。 計測1 : 半透明ブレンド カメラの正面にQuadを配置し、半透明ブレンドを行うシェーダーを適用します。 シェーダー 半透明ブレンドを行うシェーダーを使用します。 Shader "Test102/Transparent" { Properties { _Color ("Color", Color) = (1, 1, 1, 1) }

    【URP / iPhoneX】半透明描画の負荷 と カメラテクスチャブレンド負荷の比較
  • 【Unity】モバイルアプリ上で GPU 負荷を計測する - Qiita

    これらのツールを用いれば GPU 負荷計測を行うことが出来るようになるかと思われますが 1、エンジニア以外 (更に言うとツールの有識者以外) が扱うには敷居が高い上に、動作させる際にもツールに接続する必要が生じるなどと言った手間が発生します。 そこで今回はこれらの手間を無くすためにアプリ上から手軽に GPU 負荷計測を行う方法について幾つか取り上げていきたいと思います。 あくまで調査の補助ツールとしての活用を想定 これから話す内容については、「アプリ上から手軽に負荷計測を行えるようにすることで、ボトルネックとなる部分の調査を行いやすくする」ことを目的としてます。 というのも、今回紹介する機能では得られるデータに限りがあるために、「CPU or GPU のどちらかがボトルネック」と言った大雑把な情報までは得られるものの、「実際にその中の何が重いのか? (CPU ならどのコードが重いのか? G

    【Unity】モバイルアプリ上で GPU 負荷を計測する - Qiita
  • 📱 Android + RenderDoc でdraw callのパフォーマンスは計測できない - TB(D)RにおけるGPU時間の計測に関する注意 - Qiita

    📱 Android + RenderDoc でdraw callのパフォーマンスは計測できない - TB(D)RにおけるGPU時間の計測に関する注意AndroidiOSパフォーマンスVulkanRenderDoc クリックベイトサムネイル: RenderDoc の Event Browser でコマンドのGPU時間として表示される Duration は, モバイル端末では意味をなさない. いくつかのかなり有名なブログ記事やスライドにおいても, この「計測」が有用であるかのように書かれているが, それらは誤っている. RenderDoc is not a profiler. この事実は UE4/UE5 だろうが Unity だろうが変わることはない. ここではこれらGPUアーキテクチャの動作をはじめ, ドライバの開発者の発言やソースコードの引用を含めた様々な根拠や状況証拠などを挙げて論証す

    📱 Android + RenderDoc でdraw callのパフォーマンスは計測できない - TB(D)RにおけるGPU時間の計測に関する注意 - Qiita
  • iOS でのGPUプログラムの並列処理の単位 - Qiita

    iOS+Metal+コンピュートシェーダー で配列を処理する際のGPU上の処理の実行単位を調べてました。GPUでは並列で処理を行うため、どういった単位で処理を進めるのか、を記事では説明します。 1. 並列処理の単位 GPUは並列でのデータ処理が得意です。 得意ではあるものの、例えば写真の明るさやコントラストの変換処理を行う場合、1枚の写真を構成する数十万を超える画素すべてについて、同時並行に処理をするような能力はありません。 では、どの単位で並列に処理をするかというと、画像であればその画素の配列を細分化して、部分部分で並列処理をすすめます。イメージとしては下図の一番右側 SIMD Group という(緑色、橙色の)単位です。 Grid ※写真1枚に相当 Thread Groups SIMD Groups 処理対象の配列全体が Grid で、それを分割したのがThread Groups で

    iOS でのGPUプログラムの並列処理の単位 - Qiita
  • Metal を使って10万個のパーティクルを描画しよう - Qiita

    はじめに Metal を使うとたくさんの計算を並列で行うことができます. 60fps で画面の更新をする場合, 1フレームあたりの処理は約 16ms で収めなければいけません. UIKit を使って10万個の UIView の frame を更新しながら 60fps を保つのは難しいでしょう. Metal を使うとどんな計算が可能なのか, 簡単なサンプルアプリを実装したら勉強になった箇所がたくさんあったので, 共有と備忘録を兼ねてまとめたいと思います. 環境 Xcode 11.5 iPhone 11 Pro, iPhone XS, iPad Pro 11inch 第2世代 1 つくったもの 10万個のパーティクル 10万個のパーティクル(白黒) 設定画面 端末の画面いっぱいに最大で10万個のパーティクルがアニメーションします. ある程度可変なパラメータがあった方が理解に繋がると思ったので,

    Metal を使って10万個のパーティクルを描画しよう - Qiita
  • 1