- Home /
Question by
OrdinaryDev83 · May 16, 2019 at 09:18 PM ·
c#performance optimization
Component.GetComponent() very slow
Here I have set a profiler for my game:
On Unity Forums it says that 10000 calls from GetComponent() is less than a millisecond, so why in this case it's 24ms?
- My code:
Collider2D[] hits = Physics2D.OverlapCircleAll(transform.position, (float)unit.range / 2f);
if (hits.Length > 1) {
foreach (var item in hits) {
Enemy en = item.GetComponent<Enemy>();
if(en != null) {
if(en is Plane && unit is SentryTurret) {
SentryTurret st = unit as SentryTurret;
if (st.CanSeePlanes()) {
enemiesInRange.Add(en);
}
} else if(!(en is Plane)){
enemiesInRange.Add(en);
}
}
}
}
2019-05-16-23-17-24.png
(11.4 kB)
Comment
Your answer
Follow this Question
Related Questions
Multiple Cars not working 1 Answer
Distribute terrain in zones 3 Answers
Illuminating a 3D object's edges OnMouseOver (script in c#)? 1 Answer
Performance - Calculating Length in loops 2 Answers
GPU Instancing performance variation 3 Answers