Out of Memory

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Out of Memory

    Hey Gamemaker Community
    Ich bin neu im Bereich des Programmierens und taste mich leicht heran. Ich bin froh, auch mal ein deutsches Forum gefunden zu haben xD.
    Auf jeden Fall hab ich folgendes Problem:
    Ich benutze die Version GM8.0 Pro und bekomme ständig die Fehlermeldung "Out of Memory" und kann danach nichts mehr machen. Ich arbeite an ein Click-Acting-Game, also ein Spiel, in dem man hauptsächlich mit der Maus arbeitet.
    Ich habe bis jetzt nur ein Paar Bilder in JPG für Hintergründe und PNG für die dafür angefertigten transparenten Grafiken. Jetzt fehlen mir noch einige GIFs, die entweder als überleitung in eine neue Szene benutzt werden (idR. nicht länger als 3 Sekunden) oder die in einer Szene permanent eingesetzt werden (diese sind immer PNG). Die Bildgrößen sind immer 1280x720p. Ich benutze auch für die Schriften diese Größe, obwohl die nur an einem bestimmten Bereich stehen sollen, weil die in einem anderen Programm bereits angeordnet und quasi schon designt wurden.
    Dann habe ich für das Hauptmenu eine Musik eingesetzt: ca. 1,5 Min lang, OGG-Format
    Jetzt ist nur das Problem, dass ich diese Fehlermeldung oft bekomme, wenn ich weitere Sprites hinzufüge und das Game dann starte oder speichere.
    Ich hoffe, ich konnte die Situation einigermaßen gut erklären.
    Wie könnte ich das Problem lösen? Ich habe einen 8GB-Ram PC.
  • Erst mal Hallo: AndreG4mezHD

    ​Ich kann dein Problem jetzt zwar nicht nachvollziehen (habe kein GM 8).

    ​Aber ich habe mal folgende Fragen:

    ​1. Benutzt du die Bilderauflösung "1280x720​ Pixel" nur für Hintergründe, oder auch für Sprites ?
    2. Welche Windows-Version benutzt du ?
    ​3. Kommt der Speicherfehler nur bei diesem Projekt, oder bei jedem beliebigen ?
    ​4. Verwendest du den Gamemaker im Admin-Modus oder Normal ?
    5. Hast du schon mal im Taskmanager geschaut wie viel Speicher der Gamemaker den gerade benötigt?
    (Empfehlung)
  • 1. Ich benutze die 720p Auflösung für alle Grafiken, also Sprites, die ich dann später für das Game zusammenstelle.
    2. Ich benutze die Windows 10
    3. Ich habe das Projekt schonmal angefangen, dann allerdings wieder neu angefangen, weil ich neue Grafiken hatte und die Anordnung der Sprites übersichtlicher gestalten wollte. Beim ersten Versuch hatte ich dieses Problem selten, aber jetzt hab ich auch mehr drin.
    4. Wenn damit der Advanced-Mode gemeint ist, dann ja.
    5. Die durchschnittliche Auslastung: CPU: bis 4,5 %, RAM: bis ca. 1650 mb
  • So "Butter bei den Fischen":

    Kommen wir mal zur Fehleranalyse!

    Ich benutze die 720p Auflösung für alle Grafiken, also Sprites, die ich dann später für das Game zusammenstelle.


    Das ist erstmal sehr ungünstig. Brauchst du wirklich so große Sprites?

    Sprites werden als "Overlay" für deine Objekte verwendet.
    Sprites werden in den Grafikspeicher geschubst.

    Daher kommen wir gleich mal zum Unterschied zwischen deinen 8-Gigabyte-Ram-Riegeln und deinen Grafikkartenspeicher.

    Wie betagt ist deine Grafikkarte?

    Installiere mal das Tool/Programm "gpu-z" und lasse dir unter dem Tab "Sensors" deine "Memory Usage" anzeigen.

    Verwendest du eigentlich "surfaces" ?

    Bitte ändere deine Spritegrößen, den so eine Auflösung ist für eine Textur definitiv zu groß.

    Vielleicht kannst du ja auch mit Tile's arbeiten ?

    Anbei: Verwendest du den Gamemaker im Admin-Modus oder Normal ?

    Wenn damit der Advanced-Mode gemeint ist, dann ja.


    Nein ich meinte den "als Administrator ausführen"-Punkt der bei einem "Rechtsklick" auf ein Programm erscheint.

    Ob du's glaubst oder nicht, dieser Punkt kann bei der Ausführung von 32 bit Programmen unter einem 64 bit Betriebssystem tatsächlich ggf. zu Speicherprobleme führen.
    (Zugriffsberechtigungen, Arrrrgs!!!)

    Aber hier liegt der Wurm wo ganz anderes begraben. Da kommt der Fisch nicht so leicht ran.
  • Ja Vektorgrafiken sind toll!!!

    Du bräuchtest aber einen externen Bildeditor, da der interne nicht für Vektorgrafiken geeignet ist.

    Inkscape ist z.B. ganz gut, dort kannst du dich toll mit "Bezierkurven" austoben.

    Ich habe gerade mal einen "Out-of-Memory" -Error bei mir provoziert. :D

    Dabei habe ich einfach mehrere hochauflösende Bilder per Drag and Drop ins Studio-Fenster geschoben und als Sprites importieren lassen.
    Nach kurzer Zeit kam dann der Error.

    Bei Vektorgrafiken passiert dir so etwas nicht so schnell.

    ...
    ​Es gibt auch noch eine etwas umständliche Möglichkeit "hochauflösende Bilder" nicht nur als Background zu verwenden.
    ​Das ist aber etwas umfangreicher und nur in absoluten Sonderfällen zu empfehlen.
    ​Wenn man z.B. einen Bildbetracher für Urlaubsfotos mit dem Gamemaker programmieren möchte, kann man ja nicht die Bilder als Sprites importieren.
    Daraus folgt: Mist! -> Als Hintergrund ist auch Mist, da man die Bilder gerne beliebig im Raum (z.B. mit Rahmen) positionieren möchte.
    Für so einen Fall kann man z.B. die Bilder als externe Dateien belassen und nicht den Ressource-Compiler ärgern.
    ​Man könnte jetzt die Bilder als Include-Files beifügen und z.B. nur bei Bedarf ein paar ausgewählte Bilder einem Sprite zuweisen und danach wieder entfernen.
    Das ist aber etwas komplexer und nur für Sonderfälle.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Weihnachtswichtel ()

  • Nein, gerade wenn es um große Bilder geht würde ich das bei dem Projekt anraten sie von außen zu laden. Das ist im GM8 auch noch einfacher als im GMStudio. Ich wäre allerdings neugierig mal ein paar screenshots zu sehen ob man da nicht doch iwie Tiling oder mehrere Bildebenen verwenden könnte um zu optimieren. So riesige Sprites die wirklich alle unique sind, braucht man ja doch sehr selten und lassen sich meistens wegoptimieren. Jedenfalls solltest du wirklich nur die benötigten Ressourcen während der Runtime reinladen.

    ancient-pixel.com
    youtube.com/user/SebastianMerkl <<< ich freu mich über einen Besuch ;)