Bilder importieren

  • GM 8

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

  • Bilder importieren

    Hallo alle zusammen,

    Ich wollte mich ein wenig mit den 3D Funktionen des GM auseinandersetzen und habe mich an einer Foto-Slideshow versucht, bei der die Fotos auf die Kamera zu geflogen kommen. Nun habe ich einige Probleme mit den Bildern die zu importieren sind.

    1. kann man Bilder importieren(spr/bck) ohne das das Game freezed?

    2. importiert er mir einige Bilder nicht. Ich konnte bisher nicht ausmachen woran das liegt.

    Das sieht dann ungefähr so aus: //Fehlermeldungen sind ausgeschaltet. ich weiß was die beudetet, hilft mir aber nicht viel

    3.Wieso verbrauchen 48 Bilder die zusammen 160mb haben über 1GB Arbeitsspeicher Auslastung wenn sie im GM sind?

    Realisiert habe ich das so, dass zuerst bei Spiel-Start alle Bilder eines Ordners in einer Liste gespeichert werden, samt Dateipfad.

    Nun werden Instanzen erstellt die die Bilder wiederspiegeln. Sie nehmen sich je den ersten Eintrag aus der Liste, löschen diesen und laden das Bild in den Speicher. Nun erstellen sie daraus eine Textur die sie dann verwenden. Sobald sie außer Sichtweite sind wird das Bild aus dem Speicher gelöscht und der Eintrag an das ende der Liste gesetzt.

    Aber seht selbst. (ein Bilderordner muss mindestens 48 Bilder haben und es müssen JPEG's sein)

    Danke schonmal für hilfe!
    Dateien
    • pictureflow.zip

      (10,3 kB, 109 mal heruntergeladen, zuletzt: )

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Partik ()

  • @Partik
    Hast du deinen PC schon mal neu gestartet?
    was auch noch helfen könnte, wenn du einige unnötige Programme schliesst, oder im taskmanager unter Prozesse dijenigen, welche windows nicht unbedingt braucht (steam, skype, origin, usw.) schliesst...
    Kopiere dies in deine Signatur um es in deiner Signatur zu haben.
  • Zweischtein schrieb:

    @Partik
    Hast du deinen PC schon mal neu gestartet?
    was auch noch helfen könnte, wenn du einige unnötige Programme schliesst, oder im taskmanager unter Prozesse dijenigen, welche windows nicht unbedingt braucht (steam, skype, origin, usw.) schliesst...
    Du meinst vermutlich das Problem mit dem Arbeitsspeicher so zu lösen. Jedoch ist das tatsächlich der verbrauch vom GM. nichtsdestotrotz hab ich mal neugestartet
    Bilder
    • Unbenannt.png

      161,81 kB, 1.173×449, 130 mal angesehen
  • matthiax schrieb:

    Ich hab lite und keine Ahnung!
    Aber mal was anderes: wie eröffnet man nen eigenen Thread?
    Noch besser, schau dir diesen Link hier an: gm-d.de/wbb/index.php?page=Help Sollte alle Fragen klären.


    Zum Thema:

    1. Eher nicht.. das Laden benötigt nunmal Zeit und der GM besitzt nicht die Fähigkeit etwas anderes zu tun während geladen wird.
    Allerdings sollte ein einzelnes Bild relativ shcnell funktionieren.
    Also kannst du die Einzelbilder nacheinander laden und zwischen ihnen jeweils mit Hilfe von screen_refresh() einen steigenden Ladebalken einbauen.

    2. Schwer zus agen... der Code sieht in Ordnung aus. Könnte am Format der Bilder liegen... oder daran dass nicht alle als readonly markiert sind..

    3. Das ist ne doofe Eigenchaft des Game Makers. Aber er benötigt den Speicher eigentlich garnicht sondern reserviert ihn nur.
    Du kannst diesen offenbar unnötig reservierten Speicher mittels der CleanMem DLL freigeben (such nach CleanMem auf der GMC).

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • DragonGamer schrieb:

    2. Schwer zus agen... der Code sieht in Ordnung aus. Könnte am Format der Bilder liegen... oder daran dass nicht alle als readonly markiert sind..




    was meinst du mit damit? Ich habe im Code doch angegeben dass er alle herausfiltern soll die nicht readonly sind. Obwohl ich um ehrlich zu sein nicht weiß was das bedeutet. Dachte ich müsste mich zu irgendwas entscheiden...

    Edit: Das wirklich seltsame ist folgendes:

    Wenn ich angebe, dass die Bilder nicht aus dem Speicher gelöscht werden sollen, werden alle weißen Bilder zu dem dass zuletzt geladen wurde und es wird dann nur noch dieses eine ganz oft angezeigt.

    EDIT2: Und hin und wieder werden Bilder die zuvor noch korrekt dargestellt wurden im Verlauf des Programmes weiß.
  • Partik schrieb:

    was meinst du mit damit? Ich habe im Code doch angegeben dass er alle herausfiltern soll die nicht readonly sind. Obwohl ich um ehrlich zu sein nicht weiß was das bedeutet. Dachte ich müsste mich zu irgendwas entscheiden...
    Doich das hast du indem du

    GML-Quellcode

    1. fileName = file_find_first(filePath + "*.JPG",fa_readonly);
    geschrieben hast.
    Du kannst statt "fa_readonly" auch 0 schreiben wenn ich mich nicht irre.

    Edit:
    EDIT2: Und hin und wieder werden Bilder die zuvor noch korrekt dargestellt wurden im Verlauf des Programmes weiß.
    Okey das ist eigenartig!

    Wär toll wenn du mal den gesamten Ordner bereitstellen würdest... 48 JPG Bilder zu erstellen hat jetzt niemand so riesen Lust drauf...

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • DragonGamer schrieb:

    Partik schrieb:

    was meinst du mit damit? Ich habe im Code doch angegeben dass er alle herausfiltern soll die nicht readonly sind. Obwohl ich um ehrlich zu sein nicht weiß was das bedeutet. Dachte ich müsste mich zu irgendwas entscheiden...
    Doich das hast du indem du

    GML-Quellcode

    1. fileName = file_find_first(filePath + "*.JPG",fa_readonly);
    geschrieben hast.
    Du kannst statt "fa_readonly" auch 0 schreiben wenn ich mich nicht irre.

    Edit:
    EDIT2: Und hin und wieder werden Bilder die zuvor noch korrekt dargestellt wurden im Verlauf des Programmes weiß.
    Okey das ist eigenartig!

    Wär toll wenn du mal den gesamten Ordner bereitstellen würdest... 48 JPG Bilder zu erstellen hat jetzt niemand so riesen Lust drauf...

    Nehm einfach Urlaubsfotos. darum geht's doch. deswegen mag ich das auch nicht so gerne bereitstellen :/
  • 3.Wieso verbrauchen 48 Bilder die zusammen 160mb haben über 1GB Arbeitsspeicher Auslastung wenn sie im GM sind?
    Das Problem dürfte mit unter dran liegen das die Bilder im unkomprimierten Format gespeichert werden (pro Pixel 3 (RGB) bzw. 4 Bytes (RGBA)), ich weiß nicht wie der GM das intern macht, das könnte aber daran liegen. Der GM reserviert vermutlich auch mehr Speicher um das ständige Anfordern von Speicher zu unterbinden (was mit unter langsam sein kann).
    2. importiert er mir einige Bilder nicht. Ich konnte bisher nicht ausmachen woran das liegt.
    Möglicher liegt es am Dateiformat, der GM lädt zum Beispiel Paint PNG Datein nicht, oder sonstigen GM "Bugs" oder "Features" die nicht dokumentiert sind.
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • Ich meine herausgefunden zu haben, dass es am Speicher liegt.

    Ich habe nämlich eingestellt, dass immer wenn er ein Bild nicht laden konnte, er das nächste nehmen soll. Das resultiert aber in einer Schleife, da er ja das nicht funktionierende wieder an das ende der Liste schiebt. Er geht also endlos lang alle Bilder durch, unfähig sie zu laden.