この質問では、私は少し統計やった
でHashObjectに直接挿入、シンプルで原油を:
01
02
03
04
05
06
07
08
09
10
|
HashObject.count
=
{
}
;
function HashObject
(
)
{
this.$hashCode
=
egret.$hashCount
+
+
;
if
(
this.__proto__
)
{
var
name
=
this.__proto__.__class__;
if
(
name
)
{
HashObject.count[
name
]
=
(
HashObject.count[
name
] ||
0
)
+
1
;
}
}
}
|
出力統計:
VARのT1 = []; VARカウント= egret.HashObject.count;(LET KでCOUNT)t1.push {({クラス} [K]をCOUNT:Kは、COUNT);};のためt1.sort( (A、B)=> {戻りa.count - b.count;})
t1.forEach(Vは=> {にconsole.log(v.class、v.count)})
約90秒間実行し、ハッシュコードの合計 81705 。
クラストップ10にランク:
VM7412:584 1 ui.ColorLabel
VM7412:598 1 eui.Group
VM7412:837 1 eui.BasicLayout
VM7412:1110 1 egret.Texture
VM7412:1149 1 eui.Label
VM7412 :. 1 eui.State 1338
VM7412 :1 eui.Image 2614
VM7412:1 egret.Rectangle 12692
VM7412:1 egret.Matrix 23851
VM7412:1 egret.Point 34043
レンダリングするためのオブジェクトであるほとんどが感じ。
続いて、ソースコードを発見する3つのクラスがオブジェクトプールがあるんです。なぜそんなに量を作成しますか?
私たちはオブジェクトプールについての経験の一部を利用することができることを願っています。
大きなオブジェクト、より複雑なロジック、オブジェクトプーリングの場合は、回復時間たくさんの悩みはどのように行うには?
小さなオブジェクトは、リリース上で実行するために、悪影響が発生しますどのようなプールは使用しないでください?
オリジナル住所ます。https://bbs.egret.com/thread-29226-1-1.html