Frage zum Speicher

  • Frage zum Speicher

    Ich hatte eine Idee für ein Spiel, nur weiss ich nicht ob es sich lont sie umzusetzten, oder ob sie zu viel Speicher in anspruch nimmt und mit der zeit nicht mehr so gut läuft.

    Nun zur Frage:

    Wird das spiel längsämer, wenn man einen wircklich grossen raum, mit aber nur einem object, dass einen code ine hat erstellt?

    Schonmal danke für die Antworten.
  • Wenn du wirklich nur ein Objekt in den Raum setzt, dürfte das Spiel eigentlich
    schon mit ziemlich hoher FPS Rate laufen. Es kommt allerdings auch drauf an,
    was der Code macht, wen er jeden Step die Relativitätstheorie überprüft,
    wird das ganz schön Speicher fressen ;)
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Also große Räume fressen eigentlich keinen Speicher. Nur mit Surfaces sollte man nicht auf größere Strecken arbeiten (stimmts Trompadon :P :motz: :P ).
    PULSE

    Zweispieler [||||||||||]
    Einspieler [||||||||||]

    [Die Entgrater ist auf Eis gelegt]
  • Dann könntest du Probleme kriegen. Jedes Objekt, ob solid oder nicht frisst Speicher.
    Dass du keine Events definiert hast, bedeutet nicht, dass das Objekt keine Aktionen
    ausführt: Es muss ja jede Runde neu gezeichnet werden usw.
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Du kannst Instanzen außerhalb der View deaktivieren. Das ist wirklich eines der besten Optimierungsmöglichkeiten, die der GM so mit sich bringt. Aber es ist auf jeden Fall klar, dass ein größerer Raum mehr Leistung beansprucht, da auch mehr gezeichnet werden muss - egal ob ein leeres Grau oder Objekte, denn der GM zeichnet sowieso immer mindestens 1 Surface und je größer das ist, desto geringer ist auch die Bildschirmaktualisierungsrate...also wäre es eine sinnvolle Methode, Instanzen zu deaktivieren oder ihnen einen Schalter zu geben, sodass sie komplexe Aufgaben, die viel Leistung ziehen und nicht wichtig sind, deaktiviert werden können.

    mfg Critical
  • Dürfte klappen:

    GML-Quellcode

    1. instance_deactivate_all(true);
    2. instance_activate_region(view_xview[0]-10,view_yview[0]-10,view_wview[0]+10,view_hview[0]+10,true);

    Das lässt die Instanzen in einem etwas größeren Rahmen aktiv, damit Objekte mit größeren Sprites
    nicht einfach am Bildrand verschwinden.
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Ich glaube (korrigiert mich, wenn das Schwachsinn ist) wenn das wirklich GROSSE Räume sind mit vielen Objekten, wäre es besser angebracht zuerst alle zu deaktivieren, und dann nur eine kleine Region zu aktivieren und das verlassene Gebiet zu deaktivieren...über dem Code müsste ich kurz überlegen :P
    PULSE

    Zweispieler [||||||||||]
    Einspieler [||||||||||]

    [Die Entgrater ist auf Eis gelegt]
  • Trompadon schrieb:

    Ich glaube (korrigiert mich, wenn das Schwachsinn ist) wenn das wirklich GROSSE Räume sind mit vielen Objekten, wäre es besser angebracht zuerst alle zu deaktivieren, und dann nur eine kleine Region zu aktivieren und das verlassene Gebiet zu deaktivieren...über dem Code müsste ich kurz überlegen :P
    Genau das tut der Code von Spellmaker.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Trompadon hat Recht:
    Wenn nur ein Bildausschnitt aktiv bleiben soll, ist der Code hier natürlich besser:

    GML-Quellcode

    1. instance_deactivate_region(view_xview[0]-10,view_yview[0]-10,view_wview[0]+10,view_hview[0]+10,false);

    Ich hatte nur ausversehen den Code aus meinem aktuellen Projekt genommen, weil
    ich da mehrere Views habe, deaktiviere ich immer erst alle Instanzen, was besseres ist mir da
    nicht eingefallen.
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Benutzer online 1

    1 Besucher