Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 06.05.2003, 17:01 Titel: Perfomancen |
|
|
Hi,
ich habe 1990 Texturen und ein Spielfeld von [200][200]...
Nun überprüfe ich jedes Feld in diesem Spielfeld ob es eines der 1990 Texturen hat und dieses wird dann geblittet...
Ich habe diesen Vorgang schon auf die Spielebene die man nur sehen kann verringert, den bei 200x200 Spielfelder würde das Prog ziemlich lame werden...
nun überprüft er nur die SICHTBAREN Felder des Spielfeld udn das sind
39x29 Felder...
Allerdings is das Prog bei 1990 Texturen @ 39x29 Felder immer noch ziemlich langsamm...
kann man dies noch irgendwie mehr Optimieren ?
hf gl |
|
Nach oben |
|
|
LordHoto JLI'ler
Alter: 35 Anmeldedatum: 27.03.2003 Beiträge: 137 Wohnort: Gelnhausen Medaillen: Keine
|
Verfasst am: 06.05.2003, 18:09 Titel: |
|
|
ähm ich würde am Spielstart das Spielfeld berechnen und dann in eine Datei Speichern und dann immer nur das sichtbare bliten...
MFG
LordHoto |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 06.05.2003, 20:02 Titel: |
|
|
Jo genau. Aber das in die Datei speichern muss garnicht sein.
Du kannst dei texturen auch in einem Feld speichern.
So hab ichs auch bei meinem Fantasy-RPG gemacht: Am Anfang jedes Levels wird das gesamte Szenario geladen und die entsprechende Kennummer für die Texturen in ein Feld gespeichert. Dauert bei mit bei 200*200 Feldern ca.1-2 sek.
<edit>
Wenn du es in eine Datei speicherst, so verringert das wieder die Performance, da Dateilesen/-schreiben auch seine Zeit braucht.
</edit> _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 06.05.2003, 20:07 Titel: |
|
|
Zitat: | Du kannst dei texturen auch in einem Feld speichern. |
kann mir das einer genauer erklären, wie in ein Feld soeichern? |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 06.05.2003, 20:16 Titel: |
|
|
Wenn du z.B. nur speichern willst, ob eine Textur auf dem Feld ist, nimmst du ein boolesisches Feld
Code: | bool textur[200][200] |
(wenn du z.B. auch speichern willst, welche Textur du auf dem Feld hast, nimmst du einfach ein short- oder int-Feld)
Dann liest du mit einer doppelten Schleife(z.B. 1. in X-, 2. in Y-Richtung) die Daten ein und setzt dann das Element des Feldes auf true/false.
Code: | for(short x=0; x<200; x++)
{
for(short y=0; y<200; y++)
{
textur[x][y]=TexturOnField(x,y);
}
} |
TexturOnField ist hier eine Funktion, die einen boolesischen Wert zurückgibt, der enthält, ob das Feld eine Textur besitzt. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 09.05.2003, 23:05 Titel: |
|
|
das ganze soll aber für ein Level Editor sein udn da muss ich doch ständig das Spielfeld refreshen und kucken ob er was anderes hingemalt hat ?! |
|
Nach oben |
|
|
LordHoto JLI'ler
Alter: 35 Anmeldedatum: 27.03.2003 Beiträge: 137 Wohnort: Gelnhausen Medaillen: Keine
|
Verfasst am: 10.05.2003, 09:29 Titel: |
|
|
außerdem würd ich dir raten BOOL und nicht bool zu benutzen.
Kostet zwar mehr Speicher ist aber schneller!
MFG
LordHoto |
|
Nach oben |
|
|
DarK Super JLI'ler
Anmeldedatum: 23.07.2002 Beiträge: 452 Wohnort: NRW Medaillen: Keine
|
Verfasst am: 10.05.2003, 11:26 Titel: |
|
|
das beantwortet nicht meine Frage oben |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 10.05.2003, 11:43 Titel: |
|
|
Weißt du, wieso BOOL schneller ist?
Zu deiner Frage: Ich habe es in meinem Mapeditor so gemacht, dass es eine bestimmte "Refresh"-Taste gibt(geht natürlich auch mit Button). Immer, wenn ich den drück, wird der Level in die Datei gespeichert. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Hazel JLI MVP
Alter: 39 Anmeldedatum: 19.07.2002 Beiträge: 1761
Medaillen: Keine
|
Verfasst am: 10.05.2003, 11:48 Titel: |
|
|
BOOL ist schneller, weil es 4Byte groß ist und somit genau in ein Register passt. Obwohl man solche Optimierungen vernachlässigen kann. _________________ *click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
|
|
Nach oben |
|
|
LordHoto JLI'ler
Alter: 35 Anmeldedatum: 27.03.2003 Beiträge: 137 Wohnort: Gelnhausen Medaillen: Keine
|
Verfasst am: 10.05.2003, 14:02 Titel: |
|
|
also 1990 Texturen sind doch schon etwas viel... ich meine selbst bei 32 Bit und einer größe von 50x50 würde das schon ca 20MB sein...
Aber wenn nicht machst du das so :
DWORD Spielfeld[200][200];
und der wert ist halt die nummer deiner Textur z.B. im Textur Manager.
MFG
LordHoto |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 10.05.2003, 19:57 Titel: |
|
|
Da reicht aber auch ein short-Feld.
Da kann man 65336 Werte speichern. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
|