Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

11

07.10.2003, 10:06

Damit beschränkst Du Deine Programme aber in vielerlei Hinsicht... irgendwann sollte man mal aufhören, die uralten Karten zu unterstützen. Oder schreibst Du auch extra eine 386er-Version Deiner Spiele?

DarthB

Treue Seele

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

12

07.10.2003, 16:59

Naja so alt ist die Voodoo 5 auch wieder nicht! Außerdem kann man das bei den 2 Bildern, die größer sind als 256x256 wohl fürn Kollegen der die Spiele regelmässig testet machen oder? Naja Chrissi sollte nicht nur 256x256 Texturen nehmen! ;)
Aber wenn er eine größer von 1024x768 darstellen möchte muss er sich halt überlegen ob ers sich leicht machen möchte oder ob er Speicher sparen möchte.

Leicht:
Einfach ne 1024x1024 Texture erstellen. Und es machen wie David gesagt hat.

Speichersparend:
Eine 1024x512 Textur.
Eine 1024x256 Textur.
Und dadrin dann halt das Bild aufteilen,
man spart 1024x256 = 262.144 Pixel.

Da jeder Pixel im Speicher 4 Byte belegen müsste, jedenfalls bei 32Bit. Wäre wir schon bei:
1.048.576Bytes ---> Was so ziemlich genau 1MB Speicher wäre.
Ist auch leichter als in 16 256x256 Texturen zu unterteilen! ;)
Nur damit du ungefähr weißt wie ich es mache. Nur benutze ich nur 256x256 Texturen anstatt auch welche mit größeren Ausmaßen. Es wird mal Zeit dass mein Kollege ne neue Grafikkarte bekommt! ;D

[EDIT]
@ David
Wieso beschränke ich dadurch meine Programme? Das verstehe ich nicht! ???
[/EDIT]

Ciao DarthB :huhu:

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

13

07.10.2003, 17:10

Zitat von »"DarthB"«

Wieso beschränke ich dadurch meine Programme? Das verstehe ich nicht! ???

Ein Beispiel: Du möchtest eine große Textur (1024x1024) über ein großes Polygon kacheln. Wenn Du die Textur dann in kleinere Teiltexturen aufteilst, geht es nicht mehr. Dann müsstest Du nämlich für jede Kachel ein extra Viereck erstellen, und das wird sehr umständlich.
Texturkoordinaten-Animationen sind dadurch ebenfalls so gut wie ausgeschlossen.

Tobiking

1x Rätselkönig

  • Private Nachricht senden

14

07.10.2003, 17:13

Die Frage ist ja was spart man am besten. Half-Life 2 benutzt fast nur 2048x2048 Texturen mit meist 4 512x512 Texturen drauf. Das hat dann den Vorteil das man nicht immer die Textur setzen muss sondern solange man alles nach Texturen sortiert hat eine Textur setzen dann alle 4 Texturen über die Texturkoordinaten nutzen und dann die nächste. Da verschwendet man vielleicht deine 1 mb und spart dadurch 4x ein Textur setzen, was ja mit Sprüngen im Grafikkartenspeicher vergleichbar ist.

DarthB

Treue Seele

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

15

07.10.2003, 20:03

@David
Okay... man müsste mehre Rechtecke erstellen also spricht mehr Vertices und weniger Peformance. ;)
Wird wohl wirklich Zeit, dass sich mein Kollege ne neue GFX Card zulegt, zumindest für mein nächstes Projekt ;D

@Tobiking.
Ich glaube du meinst 4 512x512 auf eine 1024x1024 Textur sonst würden sie die hälfte der Textur unbenutzt lassen und das kann ich mir nicht vorstellen. Das Prinzip das du erwähnst gibt es schon länger als seit Half-Life2. Außerdem denke ich mal nicht das die bei Halflife 2 einen unbenutzen Rand mit transparten schwarzen Pixel haben in größe von 1MB oder in deinem Fall sogar größer (4MB), denn der Speicher der Grafikkarte ist auch begernzt! Du wirst dich da wohl vertun!? ???

Die werden ihre Texturen vollgepackt haben und halt in einer Größeren mehre kleine gespeichert haben. Die holen nur Performanz raus und verschwenden keinen Platz. Die habens drauf! ;)
Aber du hast recht in meinen Fall verteile ich die Grafik über 2 Texturen was länger dauern würde.
Ich denke mal die beste Lösung wäre eine 1024x1024 Textur zunehm und die unteren 1024x256 mit anderen Grafiken zufüllen. Z.B. die 4 Menu Button (Neues Spiel; Spiel Fortsetzen; Credits; Beenden).
So das sollte die ultimative Lösung sein oder weiß einer was besseres.

Wenige größere Texturen sollten Perfomanter sein als mehre kleine, aber für meinen Kollegen mit der Voodoo nehme ich das in Kauf! Beim Pacman Clone sollte das ja nicht all zuviel aus machen! ;)

Ciao DarthB :huhu:

Tobiking

1x Rätselkönig

  • Private Nachricht senden

16

07.10.2003, 20:41

Achja da habe ich nen denkfehler gemacht es ;D . Und das Prinzip gibt es auch schon länger das stimmt. Es gibt ja sogar in alten DDraw Spielen bei Explosionen die verscheidenen Animationsstufen in einer Datei zusammen. Und für deinen Pac man clone wird es sicherlich reichen. Nur man versucht ja immer alles zu optimieren ;D .

DarthB

Treue Seele

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

17

07.10.2003, 20:48

Jo... meistens denkt man über ein Thema nicht richtig nach. Hätte ich es getan hätte ich gleich am Anfang die Möglichkeit mit den Hintergrundsbild + zusätzlichen Grafiken gepostet. Aber dafür ist ja ein Forum wie dieses hier da, sich gegenseitig sein Wissen mitteilen! ;D

Ciao DarthB, der hofft das noch jemand optimieren kann. :huhu:

18

07.10.2003, 23:58

Zitat

Ich glaube du meinst 4 512x512 auf eine 1024x1024 Textur sonst würden sie die hälfte der Textur unbenutzt lassen und das kann ich mir nicht vorstellen


ähm, jetzt aber mal ganz genau, wenn man 4 512x512 texturen auf einer 2048x2048 großen hat, verschwendet man ja wohl ganz eindeutig 3/4...
stay tight, project universe comes back!
### project earth <> 2004 ###

19

08.10.2003, 12:44

??? ??? ??? ??? ??? ;D

Ihr habt mir sehr geholfen... Mein Spiel soll aber nicht Superhypermegagenial sein. Es ist mein erstes C-Projekt und ich wollt einfach mal gucken, was man mit der Sprache (und mit DirectX9) alles machen kann. Aber trotzdem nochmals vielen Dank,

Schüssi,

Chrissi

DarthB

Treue Seele

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

20

08.10.2003, 13:53

Zitat von »"neonew"«

Zitat

Ich glaube du meinst 4 512x512 auf eine 1024x1024 Textur sonst würden sie die hälfte der Textur unbenutzt lassen und das kann ich mir nicht vorstellen


ähm, jetzt aber mal ganz genau, wenn man 4 512x512 texturen auf einer 2048x2048 großen hat, verschwendet man ja wohl ganz eindeutig 3/4...

Jo! ;)
Ich mit meiner räumlichen Vorstellungskraft.
Danke für die Verbesserung.

Ciao DarthB :huhu:

Werbeanzeige