2020-01-01から1年間の記事一覧

Unityベイク問題

今回の主な話題:UIアトラスの静的分離、Unityベイク問題、Unityレンダリング異常、Animation.RebuildInternalState。 UI管理 Q1: Unityの静的アトラスと動的アトラスの分離についていくつか質問があります。 当社のUI作成方法は以下になります。 ●Prefab(U…

Texture2DArray

今回の主な話題:Texture2DArray、遠距離オブジェクトの物理シミュレーション、パーティクルシステムのCPU / GPUコスト、StreamingAssetsディレクトリの圧縮パッケージの読み取り方法。 パーティクルシステム Q1:パーティクルシステムのコストをどのように…

C#コンパイルの最適化

今回の主な話題:C#コンパイルの最適化、IPAパッケージサイズの問題、Unityパッケージのスピードアップ、AssetBundleのインクリメンタルパッケージ化。 アセット管理 Q1: 現在、プロジェクトのAPKサイズは約120MBで、パッケージ化の平均時間は20〜25分です…

半透明レンダリングがパフォーマンスへの影響

今回の主な話題:半透明レンダリングがパフォーマンスへの影響、PSSメモリが一部のモデルでの急上昇、Action関数のパフォーマンス、ShaderVariantCollection生成設定。 レンダリング Q1: UWAパフォーマンスレポートには、半透明レンダリングのパフォーマンス…

Unityのクリッピング規則

今回の主な話題:Unityのクリッピング規則、キャラメイク機能の実現方法、Graphics.Bilt時間コスト分析、携帯をロック解除してゲームに戻る時ゲームUI が変形する。 製作 Q1:Unityバージョン5.5.4f1、設備はHuawei Honor v10、Androidバージョン8.0、水平画…

ShaderLabのメモリ最適化

今回の主な話題:ShaderLabのメモリ最適化、Static Batchの使用に関する注意事項、foreachのMonoメモリ割り当て問題の修復、Unity 2017のシーンライティングのベイク情報が大きすぎ。 レンダリング Q1:Unity 2017で、社内のアーティストがベイクされたシー…

AnimationClipのABファイルサイズ

今回の主な話題:AnimationClipのABファイルサイズ、異なるUnityバージョンのABファイルサイズは不一致、ABの前後にパックされたCRC値は不一致。 アセット管理 Q1:最近パッケージの圧縮を行っています。一部のアニメーションファイルのAssetBundleファイル…

iOSでのLuaのffiパフォーマンス

今回の主な話題:iOSでのLuaのffiパフォーマンス、Shader.CreateGPUProgram 最適化、VRデバイス最適化。 レンダリング Q1:このゲームでは、キャスト範囲を表示するためにプロジェクターを使用する必要があります。画像の端に数ピクセルを透明にしても問題あ…

あなたのモバイルゲーム開発の最適化時間を数ヶ月節約する方法(メモリ篇)

みなさん、こんにちは。こちらはUWA Technologies(略称UWA)です。 今日は「あなたのモバイルゲーム開発の最適化時間を数ヶ月節約する方法」の最後のパート「メモリ」についてご説明いたします。 前回の文章をまだ読まれていない皆様は、是非移動してご覧く…

Device.Present時間コストの最適化

今回の主な話題:「Device.Present時間コストの最適化」、「PCでアート特殊効果を検査する」、「LuaJitバイトコードのプラットフォーム相関性」、「Shaderを使用して特定色相の変換を実現する」。 パフォーマンス Q1:Androidモバイルゲームプロジェクトが実…

絵文字のUGUI処理

今回の主な話題:絵文字のUGUI処理、CreatefromMemoryの使用戦略、Resource.Loadがロードされたときのメモリ変動、Animatorのサンプリング。 メモリ管理 Q1:Unity 5.5.2を使用しています。下の画像は、Redmi 2でテストした8つの特殊効果リソースを示してい…

あなたのモバイルゲーム開発の最適化時間を数ヶ月節約する方法(UI+ロード篇)

みなさん、こんにちは。こちらはUWA Technologies(略称UWA)です。 今日は「あなたのモバイルゲーム開発の最適化時間を数ヶ月節約する方法(レンダリング篇)」の続き、次の二パート「UI」と「Loading」についてご説明いたします。 前回の文章をまだ読まれ…

UI共有図集合併

今回の主な話題:「UI共有図集合併」、「UGUI図集がアンロードできない」、「Profiler のOthersオプションの時間コストの最適化」、「Shader.WarmupAllShaders()コンパイル」… メモリ Q1:プロジェクトはUnity 5.6にアップグレードされたばかりで、テスト中…

Dalvik Heapメモリは高すぎ

今回の主な話題:「Dalvik Heapメモリは高すぎ」、「Unity 5とUnity 2017でのフレームレートが低下」、「Animator.Initialize警告をどのように処理する」… メモリ Q1:ゲームに入るばかりの時、Dalvik Heapメモリは異常に高いので、PSSも高く導く。バックグ…

UnityアセットAPIアンインストールのテクニック

今回の主な話題:「UnityアセットAPIアンインストールのテクニック」、「Reserved Total Unityメモリ変化問題」、「MangedHeap.UseSizeの値は変化している」。 メモリ Q1:私かAssetBundleをロードするのため、一つのケースを書きました。複数の特殊効果Pref…

あなたのモバイルゲーム開発の最適化時間を数ヶ月節約する方法(レンダリング篇)

みなさん、こんにちは。こちらはUWA Technologies(略称UWA)です。今日は「あなたのモバイルゲーム開発の最適化時間を数ヶ月節約する方法」について、可能の解決策を提供したいと思います。去年のCEDEC 2019にご参加した皆様にはイメージがあるかもしれませ…

アセットの同期/非同期ローディング

今回の主な話題:「アセットの同期/非同期ローディング」、「Physics2D浮動小数点数衝突」、「SendWillRenderCanvasコスト」… UI Q1: 二つのフォントコントロールは毎フレームに異なる数字を表示し、1つ目が8文字、2つ目が6~7文字であります。認識のためにo…

アートアセット導入管理

今回の主な話題:「アートアセット導入管理」、「Camera Layer MaskでUGUIを最適化する」、「ベイク効果エラー」など。 ロード Q1:毎回アートアセットを大量に導入する時、構築されたバージョンは「材質リファレンスが失う」、「Animator Controllerリファ…

Unity画像最適化ツール- Ditherのディザリングに対する改善方法

Unityモバイルプラットフォーム向けゲーム開発おいて、画像アセットはいつも一番リソースを占めているアセットです。同じ視覚効果を維持すると同時に、どのように画像アセットをできるだけ減らせることが、開発チームのよくある問題です。通常、3Dオブジェク…

ナビメッシュ情報導出

今回の主な話題:「ナビメッシュ情報導出」、「LoadLevelAsyncロード効率」、「IL2CPP使用後のMonoメモリ理解」。 ロード Q1:携帯でLoadLevelAsyncとLoadLevelのロードスピードをテストします。同じシーンで、LoadLevelAsyncはLoadLevelより40%くらい長く…

アセット管理方式

今回の主な話題:「アセット管理方式」、「 Unity 2017のUIカメラのパフォーマンスコスト」、「Standardシェーダーは効果を刷新していない」、「カメラHDRの開くがゲームパフォーマンスへの影響」。 レンダリング Q1:たくさんの格好の良い効果はUnity後処理…

アセットバンドル(Asset Bundle)粒度の計画

今回の主な話題:「アセットバンドル(Asset Bundle)粒度の計画」、「Androidでのマルチスレッドレンダリング」、「Instantiateインスタンス化中のMonoメモリの割り当て」、「アニメーションモジュールで関数のCPUの割り当て」。 アセットバンドル(Asset B…

アセット管理について

今回の主な話題:「Static Colider.Moveのパーフォマンスコスト」、「スマホのバッテリー消費と発熱現象についての最適化」、「Resources ロードとAssetBundleロードの区別」、または「レンダリングモジュールのMipmap設定」。 アセット管理 Q1:UnityのPro…

Unityモジュールのローディング詳細解析(テクスチャ編)

Blog:https://blog.jp.uwa4d.com/2020/02/26/unityモジュールのローディング詳細解析(テクスチ/ ゲームやVRプロジェクトの開発中、モジュールのローディング(つまり、「ローディング効率」、「シーン切り替え速度」など)によって生じるパフォーマンスコ…

UWA GOT の機能について

Blog:https://blog.jp.uwa4d.com/2019/12/19/uwa-got-の機能について/ UWA GOTはGame Optimization Toolkitの頭文字から由来し,UWA Technologies Shanghai Co., Ltd.が開発したローカル性能診断ツールになります。本ツールは開発者が簡単にローカルで実機…

効率的な開発必勝法 | UWA GOT Online機能紹介

Blog:https://blog.jp.uwa4d.com/2019/11/25/効率的な開発必勝法-uwa-got-online機能紹介/ プロジェクト自身に問題を抱えているかどうか関係なく、パーフォマンス改善はどの開発チームにとってもリリース前の必修課題になります。パフォーマンスの最適化は…

Luaメモリ詳細診断

Blog:https://blog.jp.uwa4d.com/2019/11/15/luaメモリ詳細診断/ 現在、Luaはすでに各開発チームがプロジェクトのHot Fix機能を実現するための一般的な実装方法だと思われますが、プロジェクトに機能追加、バッグ修正は非常に柔軟で便利です。しかし、プロ…

UWA GOT (Online) ユーザー定義Variantsとコードブロック診断のサポート

Blog:https://blog.jp.uwa4d.com/2019/11/12/uwa-got-online-ユ…ntsとコードブロック診断のサポ/ UWA GOTはUWAが提供しているローカルパーフォマンス最適化ツールです。Overview分析モードは開発者が直観的にソースコード内の性能ボトルネックを特定するこ…

Unity動画ファイル最適化について

Blog:https://blog.jp.uwa4d.com/2019/11/05/unity動画ファイル最適化について/ 動画ファイルの最適化しようとした際に、以下の不思議な現象が発生しました。下図のInspectorに表示されるサイズ情報の変化はありませんが、ファイルサイズとProfile内のメモ…

Material Property BlockでMaterial属性操作を差し替え

Blog:https://blog.jp.uwa4d.com/2019/11/04/materialproperty…aterial属性操作を差し替え/ Unite 上海2017 ではMaterial property Blockを使用して性能改善の紹介がありましたが、筆者はこれについて特別な研究、テストと検証を行い、実験結果とテストプロ…