QunC

Unity|Log|Unite_DAY2_白猫プロジェクトの裏側〜パフォーマンス・チューニング〜

time 2015/04/17

Unity|Log|Unite_DAY2_白猫プロジェクトの裏側〜パフォーマンス・チューニング〜

Uniteいってきました。はつさんか!おもしろかった〜!
以下とりいそぎログです。
うちはデザイナーなのでUI,UX,GUI,そのた画像系できになったことをピックアップしていっています。

後日講演内容やスライドは公式サイトで公開されるので行けなかった人は要チェックです。

(´-`).。oO(エンジニアさん向けの講演だった…場違い感!)

コロプラのアプリの開発体制

プロトタイプ開発
2〜3名

α版 アクションの基礎が楽しめる完成度
10〜13名 
4ヶ月

β版 ゲームサイクル完成
開発版 15~18名

β版の時に全社員に配布>非ゲーマーの反応を見る
子供レビュー 小学校高学年にやってもらい理解できるかを見る

パフォーマンス・チューニング

原因:ほとんど重いのはInstantiate
一番重かったのはダメージ表記
ボトルネックはload
対策:キャッシュしまくる
エフェクトはキャッシュできなかった(タイミングがずれる・画面外に出ることが多いため)

GPU側ボトルネック

事象:マップ画面での処理落ち
原因:広範囲での波の描画がやばかった
コードがサイン・コサイン系で書かれていたため重くなる
フラグメントで計算する必要はなかった
対策:別の書き方に変更

対策:余計な使っていないカラー情報がはいっていたので一括で削除

起動時間の短縮化

事象:起動まで1分かかっていた
原因:AssetBundleがクソ重かった>3万個 現在10万個ある
Catching.radyがクソ重い
対策:自力でキャッシュシステムを作った。バージョン管理もできる

1.バージョンを読み取る
2.ユーザー内にはいっているバージョンを見る
3.はいっていないものだけダウンロード

これによってiOSは1分から8秒(!)に
思い切って自分でつくるといいよ

最初の物語の入りの部分で
裏でこっそりダウンロードしている

デメリット

iOSで同時に描画できるのは256個
読み込んでいる途中で落ちたりする

対策:不必要なdll コードの削除
Assetのサンプルなどいらないものがバイナリをふくらませている
.jsがあると変に膨らむ

メモリリークの修正

事象:Releaseがうまくいかないパターンがある
追うのが非常に難しい Unityだと特定するのが難しい
対策:Xcoadを使って調査

今後やりたい

Character Controllerやめたい(重い)
エフェクトのキャッシュ化
ダメージパケットのバッチング

リアルタイム通信のチューニング

(´-`).。oO(ここは絶対メモを見るよりスライドの図を見た方がいいです サーバー構成とかいろいろ。やしこの戦闘力たったの5の状態ではなるほどわからん状態でした)

通信保証データ
受け取れないと進行不能になる系のデータに特殊な処理をしている

クライアントとサーバーのデータ不一致
事象:いわゆる2重リクエストに対する対策
対策:tokenを付与して2重であることを確認する

上限値を入れてテストすること
サーバー側の数値上限が922京  対してクライアント21億
上限を超えた数値を送るとぶっ壊れる

sponsored link

down

コメントする




CAPTCHA


Profile

845

845

多摩美卒/デザイナー/Sketch/湘南住/子育て中/ハンドメイド

ものづくりをする人を応援するサービスのスタッフをやっています☺️

Categoly

Archive

sponsored link