Resourcenhungrig

    • Resourcenhungrig

      Im letzten Topic ist angesprochen worden, daß GM auf Windows-Funktionen basiert bzw. diese verwendet. Mein mit GM erstelltes Spiel läuft z.B. nicht mehr auf nem Pentium3 mit Onboard-Grafik. Ich geh mal davon aus, daß hier softwaremäßig mit Kanonen auf Spatzen geschossen wird...
      Wenn jemand ein schnelles Game machen will, das auch mit einer schwachen Kiste gespielt werden kann, auf welche Funktionen sollte er dann verzichten?
    • Game Maker 6 läuft auf Onboardgrafik generell nicht gut, da er auf Direct3D 8 setzt. Bei Chipsätzen, die das nicht unterstützen (können onboard nur die neueren Intel 9xx, Via *Chrome) wird Direct3D 8 per Software auf dem Prozessor emuliert, daher kommt dann die generell schlechte Performance.
      "Die Erde ist ein Irrenhaus. Dabei könnte das bis heute erreichte Wissen der Menschheit aus ihr ein Paradies machen. Dafür müsste die weltweite Gesellschaft allerdings zur Vernunft kommen."
      - Joseph Weizenbaum
    • Verzichten sollte man auf: Große Sprites mit überflüssigen Rand. Partikeleffekte / Effekte. Surfaces z.B. Motion Blur und mehr ;)

      Ich habe zwar nur nen Pentium 3 Duron mit 800 MHZ, dafür aber 128 MB Grafik und 512 MB RAM ohne die, würde nicht mal Escape laufen 8o.

      €dit: 1128 MB Grafik o_O!!! Geändert auf 128 MB ^^

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Merko ()

    • Ich habe festgestellt, daß string(val) recht zeitintensiv ist. Sollte nach Möglichkeit nicht im Draw-Event stehen, genau wie andere String-Funktionen schätze ich.
      Generell hat es sich in einigen Fällen (z.B. Radar/Minimap) gelohnt, die draw-Befehle nur ca. 1-6 x (anstatt 60 x) pro Sekunde aufzurufen und dann in einer surface zu speichern (die ja jeden step sichtbar sein kann). Das gilt auch für Drehnungen und Skalierungen, wenn diese nicht oder nur langsam animiert sind.

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

    • RE: Anmerkung

      Original von Melancor
      Generell hat es sich in einigen Fällen (z.B. Radar/Minimap) gelohnt, die draw-Befehle nur ca. 1-6 x (anstatt 60 x) pro Sekunde aufzurufen und dann in einer surface zu speichern (die ja jeden step sichtbar sein kann). Das gilt auch für Drehnungen und Skalierungen, wenn diese nicht oder nur langsam animiert sind.

      Und wie machst Du / macht man das am geschicktesten?
      Denn die draw-Funktion wird doch jeden step aufgerufen. Zählst Du intern eine Variable mit und machst ggf. ein exit wieder raus, falls der Zähler noch nicht den passenden Wert hat?
      Oder gibt's da noch mehr Tricks?