JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=9493c40fd400ff7ac195903e8db594a7Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Perfomancen

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 06.05.2003, 17:01    Titel: Perfomancen Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
LordHoto
JLI'ler


Alter: 35
Anmeldedatum: 27.03.2003
Beiträge: 137
Wohnort: Gelnhausen
Medaillen: Keine

BeitragVerfasst am: 06.05.2003, 18:09    Titel: Antworten mit Zitat

ä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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 06.05.2003, 20:02    Titel: Antworten mit Zitat

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. Very Happy
<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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 06.05.2003, 20:07    Titel: Antworten mit Zitat

Zitat:
Du kannst dei texturen auch in einem Feld speichern.


kann mir das einer genauer erklären, wie in ein Feld soeichern?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 06.05.2003, 20:16    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 09.05.2003, 23:05    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
LordHoto
JLI'ler


Alter: 35
Anmeldedatum: 27.03.2003
Beiträge: 137
Wohnort: Gelnhausen
Medaillen: Keine

BeitragVerfasst am: 10.05.2003, 09:29    Titel: Antworten mit Zitat

außerdem würd ich dir raten BOOL und nicht bool zu benutzen.
Kostet zwar mehr Speicher ist aber schneller!

MFG

LordHoto
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
DarK
Super JLI'ler



Anmeldedatum: 23.07.2002
Beiträge: 452
Wohnort: NRW
Medaillen: Keine

BeitragVerfasst am: 10.05.2003, 11:26    Titel: Antworten mit Zitat

das beantwortet nicht meine Frage oben
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 10.05.2003, 11:43    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 10.05.2003, 11:48    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
LordHoto
JLI'ler


Alter: 35
Anmeldedatum: 27.03.2003
Beiträge: 137
Wohnort: Gelnhausen
Medaillen: Keine

BeitragVerfasst am: 10.05.2003, 14:02    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 10.05.2003, 19:57    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum