007
11.10.2002, 09:55 Uhr
Bruder Leif
dances with systems (Operator)
|
OK, sagen wir Rotation 0-3, also nur eine Ziffer, genauer gesagt, nur noch zwei Bit. Höhe bis 99, also sieben Bit, Objekte bis 999, also 10 Bit. Das ganze verdoppeln wir, insgesamt also 2*(2+7+10) = 2*19 = 38 Bit pro Feld, also 5 Bytes. Bei 24 Mio. Feldern immer noch 120 MB... wenn Du die Objekte auf 0..127 runterschrauben könntest, wären's nur noch 2*16=32 Bit -> 4 Bytes / Feld -> 96 Mio Bytes = 91,5 MB.
Alternative: Du schränkst Dich im Aufbau des Spielfelds etwas ein. Die Daten für den Aufbau werden auf ein Viertel reduziert, also nur halbe Höhe und Breite, die Größe des Spielfeldes bleibt aber gleich. Die Anzahl der möglichen Objekte vergrößert sich: Jetzt gibt es ein Objekt "Alles Gras", ein anderes heißt "Linke Hälfte Gras, rechte Hälfte Moor", das nächste "Links Gras, rechts Felsen" etc. Dafür sagen wir, es gibt jetzt 4096 mögliche Objekte = 12 Bit. Zwei Objekte pro Feld -> 24 Bit. Dazu wieder die Rotation (2*2 Bit = 4 Bit) und die Höhe (2*6 Bit [wir gehen nur von 0 bis 63, sollte eigentlich reichen] = 12 Bit), zusammen 24 + 4 + 12 = 40 Bit / Feld = 5 Bytes. ABER da immer vier Felder zusammenhängen, sind nur noch 6 Mio. Felder zu speichern -> 30 Mio. Bytes = 29 MB. -- Mit 40 Fieber sitzt man nicht mehr vor dem PC. Man liegt im Bett. Mit dem Notebook. |