Optimierung Physics2D.Collider2D.DestroyShapesC#

Ein Treffpunkt für C#-Programmierer
Guest
 Optimierung Physics2D.Collider2D.DestroyShapes

Post by Guest »

Guten Tag! Ich habe ein Problem mit der Optimierung im Projekt, ich verwende die Bibliothek im öffentlichen Bereich. https://github.com/Ideefixze/DTerrain Mit seiner Hilfe kann eine dynamische Zerstörung durchgeführt werden. Es funktioniert gut, aber es gibt ein Problem. Während der Zerstörung werden Collider deaktiviert und die Unity-Physik-Engine ruft Physics2D.Collider2D.DestroyShapes auf, da Collider gleichzeitig häufig deaktiviert werden können und es zu Drawdowns kommen kann. Gibt es eine Möglichkeit, diesen Moment irgendwie zu optimieren?
Screenshot vom Profiler:
Profiler

Code: Select all

public void UpdateColliders(List pixelData, ITextureSource textureSource)
{
PPU = textureSource.PPU;
Vector2Int textureSize = new Vector2Int(textureSource.Texture.width, textureSource.Texture.height);

if (rects != null) rects.Clear();

List colls = new List(gameObject.GetComponents());

rects = new List();

QuadTreeToRect(pixelData, 0, 0, textureSize.x, textureSize.y);

foreach (BoxCollider2D b in colls)
{
b.enabled = false;
}

foreach (Rect r in rects)
{
Vector2 rColliderOffset = new Vector2(r.x + r.size.x / 2, r.y + r.size.y / 2f);

BoxCollider2D boxC = colls.Find(coll => coll.offset == rColliderOffset && coll.size == r.size);
if (!boxC)
{
AddComponentAsync(rColliderOffset,r.size);
}
else
{
boxC.enabled = true;
}

}

foreach (BoxCollider2D b in colls)
{
if (b.enabled == false)
{
CounterTime.Time += Time.deltaTime * 100;
Destroy(b, CounterTime.Time);
}
}
}
Ich habe die Zeile, in der der Collider endgültig zerstört wird, auskommentiert und nur „enabled=false“ übrig gelassen. Die Form „Physics2D.Collider2D.Destroy“ wird weiterhin angezeigt. Durch den Profiler habe ich festgestellt, dass es sofort aufgerufen wird

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post
  • Tail-Call-Optimierung in Java
    by Anonymous » » in Java
    0 Replies
    11 Views
    Last post by Anonymous
  • Java-Compiler-String-Optimierung
    by Guest » » in Java
    0 Replies
    8 Views
    Last post by Guest
  • Optimierung des Schleifencompilers
    by Guest » » in C#
    0 Replies
    13 Views
    Last post by Guest
  • Optimierung des Siebcodes im selbstinitialisierenden quadratischen Sieb für PyPy
    by Guest » » in Python
    0 Replies
    16 Views
    Last post by Guest
  • Optimierung der Abfrageausführung für den Umgang mit doppelten Kunden-IDs
    by Guest » » in Java
    0 Replies
    9 Views
    Last post by Guest