Ist 'foreach' immer noch schlecht in 'moderner' Einheit (= 5.4.x)?

8

Historisch gesehen war eines der Tabu-Konstrukte in Unity3D die Verwendung von c # foreach Block, da jede Iteration der Schleife ein paar Bytes Daten unzertrennlich verbrauchen würde.

Neugierig, wenn das bei modernen Veröffentlichungen immer noch so ist?

Meine Googles und (sehr rudimentären) Tests kommen mit nicht schlüssigen Ergebnissen daher, und ich möchte mich lieber von dem Wissen anderer ablenken, anstatt selbst in ein Benchmarking auf niedriger Ebene einzutauchen. : -)

Hat jemand vor kurzem dazu gegriffen, um festzustellen, ob es noch notwendig ist, foreach in Unity3D zu vermeiden?

    
slumtrimpet 08.11.2016, 18:51
quelle

1 Antwort

10

Nein , foreach ist nicht mehr schlecht in der "modernen" Einheit, aber die Lösung ist noch nicht vollständig freigegeben.

Es wurde Anfang Juli zuerst auf einem special build Unity Patch 5.3.5p8 behoben, das Sie von hier . Dies ist eine spezielle Edition, die Sie erhalten müssen, um dieses Update zu erhalten.

Nun hat Unity ihren Compiler im Unity 5.5-Beta auf Mono 4.4 aktualisiert Freigabe, die noch nicht endgültige Freigabe ist. Es hat das foreach Problem behoben. Sobald diese Version in den kommenden Monaten veröffentlicht wird, gehört foreach memory allocation der Vergangenheit an. Sie können immer noch herunterladen zu Testzwecken, aber veröffentlichen Sie kein Spiel mit einem Beta-Build.

  

Scripting: Aktualisieren Sie den C # -Compiler auf Mono 4.4. Der neue Compiler noch   Ziele C # 4 und .Net 3.5, bietet aber eine bessere Leistung und viele   Fehlerbehebungen.

Es ist jetzt behoben, aber das Update ist immer noch im Beta-Modus.

    
Programmer 08.11.2016, 19:16
quelle

Tags und Links