【Unity道場16】パフォーマンス最適化のポイント

「【Unity道場16】パフォーマンス最適化のポイント」のツイートまとめ https://eventdots.jp/event/608603
10
前へ 1 2 3 ・・ 7 次へ
寝巻き寿司 @nemak1d_sys

1万個のゲームオブジェクト、win64上でClone - 4msが最速。#Unity道場

2016-12-22 20:04:50
kanonji @kanonji

CreateとCloneの違いがわからんくなった #Unity道場

2016-12-22 20:05:01
牙龍丸(がりゅうまる) @Garyumaru

一万個のオブジェクトをシーンに生成するのにかかる時間 ・ゲームオブジェクトをAddComponentする(6.5ms ・シーンに配置する(23.5ms ・InstantiateでCloneする(4ms #Unity道場

2016-12-22 20:05:39
マッドネスラボ @rodostw

同じオブジェクトはLoadするよりもCloneが早い。原因はAddComponet #unity道場

2016-12-22 20:05:50
bitternoise @ryubitternoise

#unity道場 同一オブジェクトはロードよりclone。addcomponentも重い

2016-12-22 20:06:19
寝巻き寿司 @nemak1d_sys

AddComponentが積み重なると重み感じる。コンポーネントのパラメータの流し込みが遅い。#Unity道場

2016-12-22 20:07:03
ターピス @takupisu31

ゲームを構築する際には ・シーンに配置 ・実行時に構築 どちらが良いか ⇛実行時に構築が1番早い(Clone) #unity道場

2016-12-22 20:07:09
牙龍丸(がりゅうまる) @Garyumaru

AddComponentは、シーンからロードした場合、パラメータを流し込むところが負荷が高い。 ScriptableObjectを使って参照する仕組みにすると高速化できる。 #Unity道場

2016-12-22 20:07:58
kanonji @kanonji

emptyなGame ObjectをInstantiateして、AddComponentするのがCreateの方か コンポーネントも全部ついてるPrefabからInstantiateするのがCloneかな? #Unity道場

2016-12-22 20:08:11
寝巻き寿司 @nemak1d_sys

ScriptableObjectで作るというアプローチが有効。nested prefabはいつか来ますとのことw #Unity道場

2016-12-22 20:08:46
nakamura001 @nakamura001

最近のUnityではInstantiate()では第二引数で親指定が可能になっている #Unity道場

2016-12-22 20:10:55
ターピス @takupisu31

ただしClone(Instance)の場合は注意点がある ⇛SetParentの処理が重い ⇛解決策として Instantiate(newObj,parentTransform)と生成時に親を指定すると良い #unity道場

2016-12-22 20:10:57
牙龍丸(がりゅうまる) @Garyumaru

オブジェクトプールを作る場合、負荷が高い。 Instantiateするときに、親のTransformを引数に渡す! 高速化できる! #Unity道場

2016-12-22 20:11:05
kanonji @kanonji

Transform.SetParent()がちょっと重かったらしくGameObject.Instantiate(newGo, parentTransform)が5.4当たりから追加されているらしい #Unity道場

2016-12-22 20:11:13
寝巻き寿司 @nemak1d_sys

GameObject.Instantiate(newGo, parentTransform)、作るタイミングで同時に親を決める。ヒープ上で都度探してたのが、まとまって見つけ易くなる。故に早くなる。#Unity道場

2016-12-22 20:11:32
マッドネスラボ @rodostw

GameObjectの親子関係を変えるのは負荷が高い。Instantiateに親を指定できるようになったので使おう。 docs.unity3d.com/ja/current/Scr… #unity道場

2016-12-22 20:12:31
寝巻き寿司 @nemak1d_sys

parentTransform.hierarchyCapacityを使うと生成・破棄コストが安くなる!が、親が変わる場合はコストがあがるので注意。。。#Unity道場

2016-12-22 20:12:49
ターピス @takupisu31

parentTransform.hierarchyCapacity = 1000; ・GameObject生成・破棄のコストが安くなる ・親の変更コストが上がる #unity道場

2016-12-22 20:12:57
kanonji @kanonji

parentTransform.hierarchyCapacity = 1000; docs.unity3d.com/ScriptReferenc… 後で調べたい #Unity道場

2016-12-22 20:13:01
ターピス @takupisu31

ただし先程のを設定後SetParentを別途するとコストが高くなるので注意 #unity道場

2016-12-22 20:13:25
牙龍丸(がりゅうまる) @Garyumaru

プールオブジェクトにhierarchyCapacityを設定する。 ただし注意点。この設定をしたプールオブジェクトを別のオブジェクトの子にしたりするのは、重くなっちゃうよー! #Unity道場

2016-12-22 20:13:28
めび🎃フリー素材妹P @mebi_nyan

#Unity道場 hierarchyCapacity ってルートになるparentで設定すると子もそれと同値になるとかじゃなかったっけ。

2016-12-22 20:15:26
ターピス @takupisu31

Instantiate⇛SetParentコンボは当たり前だと思ってたので、この情報はかなりありがたい #unity道場

2016-12-22 20:15:28
前へ 1 2 3 ・・ 7 次へ