Monster Fm's

  • @Bäuchlein
    Vielleicht irre ich mich, doch auf diese Weise gelangen hochauflösende Texturen (all inclusive) direkt in den VRAM und das mit einen maximal 1/3 höheren Speicherbedarf.


    Ob das alles direkt in den Video-RAM (VRAM) kommt, hängt von Rechnerarchitektur und Arbeitsweise von Hardware (können Daten im gewählten Datenübertragungsmodus der Festplatte direkt in das VRAM kopiert werden, oder müssen sie zwangsweise irgendwo "Zwischenstation" machen) sowie Software (wie führt das Betriebssystem den Datentransfer tatsächlich durch? Wie arbeitet die Spiel-Engine?) ab.


    Der alte Rechner, an dem ich gerade sitze, hat z.B. eine Grafikkarte mit 256 MB VRAM. Doch das Speicher-Fenster, über das die CPU und andere Hardware auf den VRAM zugreifen kann, ist kleiner; es ist nur 128 MB groß. Eine Textur, die größer wäre (oder auch eine Mipmap), könnte nicht "in einem Rutsch" von der Platte in den VRAM kommen, sondern das müsste in mehreren "Häppchen" passieren. Okay, von 128-MB-Texturen sind wir jetzt hoffentlich noch weit entfernt, :D aber das zeigt halt schon mal eine prinzipielle, hardwarebedingte Einschränkung auf, die eine direkte Übertragung der Daten eventuell verhindert.


    Geht`s noch kleiner?


    Na klar. Erstens könnte man noch Kompression mit einbeziehen, so dass die Texturen noch weniger Platz einnehmen. Prinzipiell müsste es dabei egal sein, ob die Texturen nur in Form einer einzigen, maximal aufgelösten Version vorliegen, oder in mehreren Versionen, wie bei den Mipmaps. Ob sich das mit der Kompression vom RAM-/VRAM-Bedarf her lohnt und ob die Dekompression durch Hard- oder gar Software nicht wieder zuviel Performance wegfrisst, ist dann wieder die Frage, deren Antwort vermutlich auch wieder vom Einzelfall abhängt.


    Zweitens kann man auch erst mal nur Teile der Mipmap in den Speicher laden. Im Abschnitt "Berechnung" in jenem Wikipedia-Artikel wird ja auch angedeutet, dass die Grafikhardware u.U. zu einem bestimmten Zeitpunkt noch fehlende Teile der Mipmaps berechnet, so dass die Texturen erst in der Grafikkarte die maximale Größe annehmen. Aber es ist offenbar auch kein "Muss", dass das so läuft.


    Und man könnte sich das mit "Mipmap teilweise laden" auch an einer anderen Stelle vorstellen. Angenommen, die Spielfigur läuft auf ein in großer Entfernung befindliches Objekt zu. Erst mal wird dann nur die kleinste Textur aus der Mipmap benötigt, also muss man auch nur diese von der Festplatte laden und in den Grafikspeicher schaffen. Latscht die Spielfigur näher 'ran, muss irgendwann die nächstgrößere Textur der Mipmap auch von der Platte geholt werden, dafür aber könnte man die allerkleinste schon wieder aus dem Speicher schmeißen. Nachteil: Heftig viel Festplattenaktivität, insbesondere wenn der Spieler aus irgendeinem Grund immer an der Entfernungsgrenze herumläuft, wo zwischen zwei Mipmap-Stufen gewechselt werden muss.


    Dann könnte man das Verfahren natürlich so erweitern, dass immer auch ein Teil derjenigen Mipmap-"Stufen" im Speicher bleibt, welcher aktuell zwar nicht gebraucht wird, aber möglicherweise bei einer Entfernungsänderung als Nächstes gebraucht würde. Je mehr von den verschieden großen Texturen der Mipmap im Speicher bleiben, desto näher gelangt man an das ursprüngliche Verfahren heran: Alles in den Speicher laden und somit nicht mehr nachladen müssen.


    Keine Ahnung, was davon unter welchen Bedingungen performance-mäßig am Besten wäre.


    Für mich steht die Formel für Performance. Hinzukommen feste Datenkompressionsrate (logisch)


    Wieso ist eine feste Kompressionsrate hier logisch? :huh: Ich kann es irgendwie nicht nachvollziehen. (P.S.: Oder meinst Du: Die Formel gilt nur bei fester Kompressionsrate? Das könnte stimmen.)


    Zitat von zappenduster

    wenn ich eine FM nicht störungsfrei und/oder flüssig spielen kann, landet sie im Bit-Mülleimer


    Ganz so heftig bin ich in den meisten Fällen nicht drauf, aber wenn es zu arg wird, kann es schon mal sein, dass die Mission für längere Zeit auf einer DVD geparkt wird, bis das Problem mal durch neue Hardware oder andere Dinge verschwindet. Spätestens, wenn (gefühlt) einstellige FPS-Zahlen zustande kommen, kann ich den Spielablauf ja auch nicht mehr ausreichend kontrollieren.