Was man früher so dachte

  • Um nicht wieder ein Thema zu entführen, ich die Antwort von tom_www aber durchaus kommentieren möchte, mache ich das hier.

    Zitat

    Früher fragten sich viele Menschen bei einer neuen Computer-Entwicklung, wofür man den vielen Speicher benötigt.
    Dann fragten sich viele Menschen, wofür man so grosse Festplatten benötigt.
    Dann fragten sich viele Menschen, wofür man so extreme Grafikkarten benötigt.
    Heute fragen sich viele Menschen, wofür man so viel Down- und Upload-Speed (Glasfaser) benötigt.

    Wofür man so viel Speicher benötigt ist da schon eine wirklich tolle Frage. Ja, früher fragten sich das wirklich viele. Die Meisten meiner Freunde hatten 8, 16, vielleicht mal 32 MB in ihren Rechnern. Bei PCs immer etwas mehr wie beim Amiga, da Windows schon immer ein dickes Schiff war. Aber darum soll es ja jetzt nicht so unbedingt gehen.

    Was mir über die Jahre immer wieder aufgefallen ist, bezieht sich auf die "Skills" der Entwickler selbst. Wer damals was auf sich hielt, hat in C programmiert. Das hatte auch einen simplen Grund. Damals war die Taktfrequenz überschaubar, der Speicher knapp und nicht jeder wollte sich Assembler antun. Wobei Assembler in meinen Augen schon eine Kunstform ist und keiner kennt seinen Computer besser als die, die ihn damit programmieren können. Aber eben, allgemein ist es echt ein Krampf. Wer damit noch nichts zu tun hatte ein Beispiel vom Arduino. Um da mit C++ zum Beispiel eine LED zum Leuchten zu bringen reicht die Funktion digital_write(D0, HIGH);. Mit Assembler bekäme ich das jetzt so aus dem Stehgreif gar nicht direkt hin, da an dort ja jeden einzelnen Schritt angeben muss und das ist ein ganzer Berg voll. Tatsächlich schont das aber Speicher.

    Gut. Die logische Wahl war dann eben C. Nicht C++, C# oder was auch immer. Einfach C. Auch nicht immer ganz trivial im Vergleich zu C++, aber die Macht dahinter ist sensationell. Wer da was auf sich hält, wägt schon bei der Entwicklung ab, ob er da jetzt eine Zahl als int deklariert oder als float oder double. Denn schon die Initialisierung der Variable beeinflusst den Speicherverbrauch. Warum also eine grosse Fliesskommazahl deklarieren, wenn man nur einen kleinen Wert ohne Komma braucht? Zeichenketten sind dann noch einmal ein ganz anderes Kaliber. Die kann an statisch anlegen zum Beispiel char text[256]; und kann dann dort beliebig 256 Zeichen rein speichern. Das heisst aber auch, direkt nach der Deklaration sind 256 Byte im Speicher belegt. Auch wenn man zum Beispiel da nur "Hallo" rein speichert. Wer in der Hinsicht dann speichereffizient arbeiten will, der macht aus text einen Zeiger und weist dem dann den Speicher zu, der benötigt wird. Wenn mehr dann eben mehr, wenn weniger wird Speicher wieder freigegeben. Aber, man muss das auch wirklich sauber machen, sonst fragmentiert man sich den Speicher und im schlimmsten Fall schreibt das Programm oder gar ein anderes Programm dann was in belegten oder falsch freigegebenen Speicher und es gibt ein Crash.

    Aber, hier lag und liegt für mich einfach die Magie. Du kannst dein Programm bis aufs letzte Byte optimieren und das macht es eben klein.

    Diese Fähigkeit haben heutige Entwickler aber in aller Regel verloren oder nutzen sie nicht mehr aus Zeitdruck. In C++ deklariert man für eine Zeichenkette einfach ein String und kann dann damit herum spielen. Alles in der Hoffnung, dass der Compiler da schon alles richtig macht. Tut er in der Regel auch. Was gcc und Co heute alles drauf haben ist wirklich, wirklich beachtlich und ich ziehe vor den Entwicklern meinen Hut. Dennoch gibt man viel der Kontrolle ab. C# und Java sind da noch eine andere Hausnummer.

    Dazu kommt dann noch, warum sollte man heute überhaupt noch so massive Optimierungen durchführen, tricksen usw.? Gängige PCs haben doch genug Rechenleistung und Speicher. Auf ein paar MB kommt es da doch nicht mehr an. Früher führten diese Optimierungen dazu, dass auf der Hardware alles noch etwas besser lief. Ich sage mal die späten Spiele des C64. Skate Or Die 2 usw. Wahnsinn, was man aus dieser Kiste noch alles quetschen konnte. Oder der Atari VCS. Der konnte am Ende Dinge, welche die Hardware eigentlich gar nicht können durfte. Heute fällt es nicht mehr auf, wenn man ein Programm wirklich bis ins Kleinste optimiert hat.


    Wofür man so grosse Festplatten braucht, ist in etwa das gleiche Prinzip. So in den Zeiten von 1990 bis 2000 lebten die Meisten mit Festplatten um die 512 MB. Einige auch weniger. Meine erste Festpatte war 100 MB gross und auch damit war ich damals der Held. Das war noch für den Amiga 500 und meine Freunde hatten Festpatten von 30-80 MB. Hat man damals angefangen, alle Spiele aus seinem Besitz auf die Festplatte zu bannen, waren die trotzdem eigentlich noch braches Land. Selten hatte da mal ein Spiel 10 MB, denn da war ja die Sache, wenn man die Spiele verkaufen wollte, musste man sie auf Disketten bannen und 1,44 MB waren jetzt nicht gerade üppig. Weshalb sich dann auch wieder die Enwickler daran gemacht haben, Spiele so effizient wie möglich zu schreiben, einen Kompromiss aus ansehnlicher, aber speicherschonenden Grafiken zu basteln, damit man mit so wenig Disketten wie möglich auskommen konnte. Ausserdem, wer hatte damals schon gedacht, dass man mal ganze Filme auf seiner Kiste schauen kann?

    Mit der CD hat sich hier viel geändert. Auf einmal war da Platz für Grafiken, Sounds, Musik, Sprachausgabe und was weiss ich. Alles gebannt auf einen einzigen Datenträger, was die Geschichte viel günstiger gemacht hat. Entwickler mussten nicht mehr so viele Kompromisse eingehen und zack, hatte man ein Wing Commander 3 mit echten Schauspielern. Fand ich grausam irgendwie. Mir haben die Animationen schon immer besser gefallen und das ist auch bis heute so. Aber, es geht ja nicht um meine Meinung. Auf einmal gab es Spiele und Programme, die bei der Installation einfach Platz haben wollten und schon ging es los. Mehr Speicher musste her, durch die Nachfrage fielen die Preise und wo sind wir jetzt? Ich habe 8 TB im Rechner und ein Spiel wie Ark mit DLCs und Mods frisst da einfach schon einmal 700 GB. Klar, hochauflösende Texturen brauchen eben ihren Platz und detailreiche Modelle sind auch nicht gerade zimperlich.


    Das mit den Grafikkarten war aber schon damals ein Punkt, der abzusehen war. Die Leute wollten schon immer Spiele, die so gut es nur geht aussehen. Wenn ich nur mal überlege, wie viele in meinem Bekanntenkreis sich für Doom 3 komplett neue Rechner zusammengebaut haben, da wundert mich die Entwicklung überhaupt nicht. Wobei Grafiikkarten heute ja auch für viele andere Zwecke genutzt werden. Ich zum Beispiel nutze die CUDA Kerne meiner Grafikkarte für Blender und das macht einen derart grossen Unterschied. Von Minen und so will ich jetzt gar nicht erst anfangen.


    Was die Bandbreite angeht, sehe ich da auch eigentlich, dass die Entwicklung abzusehen war. Meine ersten Gehversuche waren am C128 meines Vaters mit dem Modem für BTX. 1600 oder 1800 Baud oder so. Da wurde der Text für die Seite langsamer angezeigt, als man ihn lesen konnte. Echte Bilder waren utopisch. Aber das Interesse war da. Dann das Internet. Schöne, neue Welt. Die Entwicklung ging dann ja auch schon recht zügig. 14.4, 28.8, 56K, es ging eigentlich wirklich beeindruckend schnell. ISDN und dann ADSL. Meine Güte. Heute? Zum einen, ich kenne eigentlich keinen Computer mehr, der nicht im Netz hängt. Browser, Streaming-Dienste und was weiss ich nicht noch alles. Da muss eben Bandbreite für her. Eigentlich bin ich der Meinung, meine 100 MBit Leitung ist dafür ausreichend. Wenn da nicht die dauernden Ausfälle wären, die mich regelmässig echt fuchsig machen. Die muss ich tolerieren, aber wehe ich vertippe mich bei der Überweisung und es fehlen 3 Cent. Zack, Anschluss dicht. Ja, wegen 3 Cent. Nein, ich lasse nichts abbuchen.


    Leider geht es aber bei Allem immer um Geld und Zeit. Klar, Zeit ist Geld, lernt man ja schon früh. Ich würde wirklich gerne mal sehen was passieren würde, wenn man die Unreal 5 Engine bis ins Mark optimieren würde. Geht heute aber eigentlich nicht mehr, denn damit würde man voraussetzen, dass jeder PC den gleichen Prozessor, Speicher und Grafikkarte hat. Unmöglich. Dennoch würde es mich wirklich interessieren. Die Grafikkarten mal bis in die letzte Ecke ausquetschen, mit Tricks, Optimierungen usw. Wie beim Atari oder C64. Das Ergebnis wäre wahrscheinlich der Wahnsinn.


    Davon aber eben mal abgesehen. Was passiert, wenn die Programme immer mehr Speicher brauchen? Man kauft sich für ein paar Euro mehr Speicher und knüppelt den in seinen Rechner. Man hat keine 200 FPS bei einem AAA Game in 4K irgendwas, dann eben eine neue Grafikkarte. Früher gab es das nicht. Früher waren es die Entwickler, die für gute Optik und flüssigen Spielspass sorgen mussten. Da konnte man nicht einfach sagen, wie kloppen da jetzt ein High-End Game zusammen, die Spieler werden sich schon die Hardware dafür kaufen. Das ist irgendwo sehr schade. Gerade im Sinne der Nachhaltigkeit. Gut optimierte Software würde viele PCs noch einige Jahre im Einsatz halten, bevor dann zu stärkerer Hardware gegriffen wird. Aber verständlich ist es auch. Wie will man denn eine Unreal Engine für Nvidia, AMD, Intel und Co optimieren? Das geht eben einfach nicht oder ist mit so hohem Aufwand verbunden, dass sich keiner mehr die Spiele leisten könnte.

    Ein für mich schönes Beispiel ist und bleibt da LibreOffice. Wie kann es denn sein, dass ein aktuelles Progamm mit Textprozessor mit 1GB Arbeitsspeicher keine 100 Seiten flüssig darstellen kann, wenn es ein Amiga 1200 mit 4 MB konnte? Das es auch heute noch geht, zeigen die anderen Office-Anwendungen, WPS-Office, FreeOffice, OpenOffice. Schmeisse ich da mein grösstes Buch auf meinem Netbook rein, der nur 1GB hat, kann ich bei über 1000 Seiten flüssig arbeiten. Nur LibreOffice kann es nicht und da würde ich mal stark annehmen, dort wird auf Optimierung kein grosser Wert gelegt.


    Schlussendlich ist es aber eben so. Alles entwickelt sich weiter. Spiele werden grösser, man kopiert sich seine Filme auf den Rechner, hat Bilder ohne Ende, riesige Spiele, die eben auch entsprechend gut aussehen usw. Der Konsument bekommt was er will, die Entwickler und Hardware-Hersteller liefern.


    War es früher besser? Das will ich eigentlich nicht sagen. Ich würde es schmerzlich vermissen, meine Update nicht einfach aus dem Netz saugen zu können oder mir ein Programm mal eben zu installieren, welches ich für mein Vorhaben brauche. Oder auch, ich will eigentlich nicht zum statischen Fernsehen zurück. Ich möchte die Filme und Serien dann schauen können, wann ich es will und nicht, wann der Sender mir das vorgibt. Zudem finde ich es bei den Spielen so, dass die Entwickler sich früher mehr Zeit für die Story gelassen haben. Heute sind viele Spiele, genau wie Filme, ein Feuerwerk an Effekten, aber die Story ist so dünn, dass eine Spinne bei ihren Fäden Komplexe kriegt. Nicht alles. Es gibt auch heute noch echte Perlen. Es werden aber weniger.


    Gut. Wie ist denn eure Meinung dazu?

  • Dieses Thema enthält 9 weitere Beiträge, die nur für registrierte Benutzer sichtbar sind.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!