Jump to content
Unity Insider Forum

Low FPS nach Aktivierung eines simplen Scripts [Gelöst]


StolleJay

Recommended Posts

Hallo,

bisher habe ich keinerlei Probleme in Sachen Performance etc. gehabt.

Heute wo ich ein neues, relativ kleines Script fertig habe und dies auch funktioniert ist mir aufgefallen das nachdem ich dieses Script in der Szene Aktiviere ich von 60FPS auf unter 30FPS falle.
Ich habe schon die Objekte die hier erstellt werden auf "Static" gestellt (damit diese auch in die Kategorie Occlusion Culling fallen) aber es wird nicht besser.

using System.Collections.Generic;
using UnityEngine;

public class randomObjectGeneration : MonoBehaviour {

    List<Transform> objList = new List<Transform>();

    Transform obj;
    public Transform[] go;
    public int objNumber = 0;
    public float objSizeMin = 1;
    public float objSizeMax = 1;

    private int objID = 0;
    private float objSize;
    private int sizeX;
    private int sizeZ;

    // Use this for initialization
    void Start()
    {
        sizeX = FindObjectOfType<settings>().sizeX;
        sizeZ = FindObjectOfType<settings>().sizeZ;
        
        for (var i = 0; i < objNumber; i++)
        {
            var index = Random.Range(0, go.Length);
            var pos = new Vector2(Random.value * sizeX, Random.value * sizeZ);
            objSize = Random.Range(objSizeMin, objSizeMax);
            Vector3 setpos = new Vector3(pos.x, 0, pos.y);
            Vector3 setrot = new Vector3(0, Random.Range(0, 360), 0);
            Vector3 setsize = new Vector3(objSize, objSize, objSize);

            objID++;
            obj = Instantiate(go[index], setpos, Quaternion.Euler(setrot));
            obj.localScale = setsize;
            obj.name = go[index].name + "_[" + objID + "]";
            obj.parent = transform;
            objList.Add(obj);
        }
    }
}

Ist da evtl. am Script etwas falsch oder habe ich etwas Übersehen? Das ist das erste mal das ich beim Start mehrere Objekte in untersch. Größe, Rotation etc. pp. Instantiieren lasse.

Ich hoffe ihr könnt mir da weiterhelfen :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Das habe ich ich vergessen zu erwähnen. Auf einer Fläche (Unity Maße) von 8x8 werden 80 Objekte gespawnt. Das größte bzw. Komplexeste Objekt hat nur 102 tris von diesem gibt es dann ca. nur um die 20. die anderen 3 Objekte haben weit unter 100 tris. Also wirklich Low-Poly.

Auch wenn ich nur 40 Objekte spawnen lasse bekomme ich nicht wirklich mehr FPS.

Edit:
Kann es an diesem "destroyable.Update" liegen? Alles in diesem Update rufe ich auf bzw. führe ich aus wenn eine variable auf "true" steht welche normal also bei Spielstart auf "false" gesetzt ist. Das ist auch der Fall das habe ich schon geprüft. Also sollte er das Update ja gar nicht aufrufen bzw. den Inhalt ausführen.

Unbenannt-2.thumb.jpg.9d1f7ab0be449e07f5aa2ad0e503c411.jpg

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...