Gedanken zu Sichtfeldern

Übersicht BlitzBasic Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

 

Ava

Gast

BeitragSo, Nov 14, 2004 1:05
Antworten mit Zitat
Ich fühle mich so unverstanden. Confused




Btw. ich habe bei BGBnB mitgearbeitet... Rolling Eyes

stfighter01

BeitragSo, Nov 14, 2004 1:10
Antworten mit Zitat
Benutzer-Profile anzeigen
LOL!!!

ok, wir haben beide das gleiche gefühl.
also schätze ich kann dir hierbei nicht helfen.


mfg stfighter
Denken hilft!
 

Ava

Gast

BeitragSo, Nov 14, 2004 6:29
Antworten mit Zitat
Jippieee!

Hey, ich habs geschafft, mir eine Routine zu basteln, die 1.000 Einheiten auf einer 1024x1024 Karte bei permanenter Aktualisierung (sowohl der Sichtberechnung jeder einzelnen Einheit, wie auch dem kompletten Neuaufbau der 1024x1024 Pixel Bitmap) noch bei ~ 40 Frames bewältigt!
Und bei 2.000 Einheiten sind's immerhin noch knapp über 20 Frames! Laughing
(wenn ich die Kartengrösse halbiere, sind es sogar ~ 60 FPS ! und noch knapp 20 Frames bei 4000 Einheiten!! Shocked)

Und das alles ohne dll. 8)
Und vielleicht kann ich da sogar noch ein bisschen mehr rausholen!! Laughing

Das ist auf jedenfall schon mal total klasse! - denn wann hat man schon sooo viele Einheiten auf dem Schlachtfeld rumkrauchen?! *hihi* Wink

+ Ava +


[/edit]
Achso, bei einer wahrscheinlichen Anzahl von 200 Einheiten sind die FPS irgendwo jenseits hundert. Auf einer 256x256 Karte bei ~ 250. Smile
10.000 Einheiten laufen da noch auf ~ 30 Frames... Rolling Eyes

eXceptION

BeitragSo, Nov 14, 2004 6:43
Antworten mit Zitat
Benutzer-Profile anzeigen
was hast du gemacht? Razz
Norweger...

Spreche aber verdammt gut 8086
 

Ava

Gast

BeitragSo, Nov 14, 2004 7:11
Antworten mit Zitat
Irgendwas total abgefahrenes mit Banks. Razz


[/edit]
naja, erstmal abwarten, ob das auch alles noch schnell genug bleibt, wenn der Rest vom Spiel noch hinzukommt. Confused

eXceptION

BeitragSo, Nov 14, 2004 7:44
Antworten mit Zitat
Benutzer-Profile anzeigen
ich will es wissen!!! Shocked
Norweger...

Spreche aber verdammt gut 8086

stfighter01

BeitragSo, Nov 14, 2004 11:45
Antworten mit Zitat
Benutzer-Profile anzeigen
sag bloss du hast die bank adresse als imagebuffer() übergeben Shocked

was auch immer, ich gratuliere. Laughing

mfg stfighter
Denken hilft!

Thoem

BeitragSo, Nov 14, 2004 19:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Soweit ich weiss, hat Vertex mal ein paar Funktionen geschrieben, mit denen man eine Speicherbank in einen Grafikpuffer und zurück übertragen kann.

http://www.blitzbasic.com/code...?code=1104

Es hilft vielleicht auch, wenn Du nicht alle Einheiten pro Schleifendurchlauf aktualisierst. Wenn Du z.B. pro Loop nur ca. 20 Einheiten duchrechnest, hast Du nach 1.sekunde (bei 60 Fps) 1200 Einheiten gerechnet und dargestellt...
Thoem...
 

Ava

Gast

BeitragMo, Nov 15, 2004 7:43
Antworten mit Zitat
Huh, also zu erklären, wie ich das nun letztendlich alles genau berechne, speicher und auswerte, wird etwas kompliziert. Meine Banks direkt an den ImageBuffer() übergebe ich allerdings nicht. Das wäre nochmal ein grossartiger Fortschritt, könnte ich mir vorstellen! aber mit den DLLs habe ich mich bisher nur am Rande beschäftig und so ganz den Durchblick habe ich dort noch nicht. Ich finds aber sehr gemein, dass blitzPlus ganz offiziell Funktionen dafür bereitstellt, die bei blitz3D einfach fehlen. Sad Naja. Also jedenfalls läuft das bei mir alles immer noch "ganz standardmässig" über Banks und writePixelFast ... halt mit viel Trickserei, um möglichst an jeder noch so winzigen Kleinigkeit Geschwindigkeit einzusparen (die weniger winzigen Kleinigkeiten sind natürlich um so wichtiger zu beachten! Rolling Eyes).



Aktueller Stand:



Extrem-Test:

Kartengrösse: 1024 x 1024
Anzahl der Einheiten: 10.000 Einheiten,
Sichtfeld: je Einheit 32 Felder Radius

Ergebnis: ~20 FPS, Sichtfeldberechung ~0.050, Sichtfeldaktualisierung ~0.002



Realistischer Test:

Kartengrösse: 255 x 255
Anzahl der Einheiten: 500 Einheiten,
Sichtfeld: je Einheit 16 Felder Radius

Ergebnis: ~190 FPS, Sichtfeldberechung ~0.001, Sichtfeldaktualisierung ~ 0.002



Die Frame-Genauigkeit kann ich nun über mehrere Einstellungsvariablen verändern. So kann ich mit einer etwas grosszügigeren Aktualisierungsrate auch bei dem Extrem-Test noch ~50 FPS erreichen (wenn ich die Rate um die Hälfte senken). Ich denke, dass ist für eine solch grosse Anzahl von Einheiten kein schlechter Wert.

Soooo ... und genau dafür werde ich mir jetzt als nächstes eine optionale KI basteln, die diese dynamischen Genauigkeits- und Geschwindigkeitsabstimmungen automatisch anpasst. 8)

Und danach stelle ich meine Karten-Indizierung von der Byte auf die Bit-Ebene, dadurch müsste ich auch nochmal 10-20% mehr Speed bekommen! Smile ...vom gesparten Speicher ganz zu schweigen...



+ Ava +

eXceptION

BeitragMo, Nov 15, 2004 11:52
Antworten mit Zitat
Benutzer-Profile anzeigen
muss mal gratulieren... das wurde mit dll gemacht? Smile
Norweger...

Spreche aber verdammt gut 8086

D2006

Administrator

BeitragMo, Nov 15, 2004 12:48
Antworten mit Zitat
Benutzer-Profile anzeigen
nein, eben nicht.

als Tipp:
WritePixelFast kann man auch mit Bank-Befehlen machen.
Müsste nochmal einen Geschwindigkeitsschub geben.

MfG
 

Ava

Gast

BeitragMo, Nov 15, 2004 16:38
Antworten mit Zitat
Kannst Du mir auch erklären, wie genau das Funktioniert?
 

hot-bit

Gast

BeitragMo, Nov 15, 2004 16:40
Antworten mit Zitat
Hoi...

Du bist echt witzig !

Auf der einen Seite verlangst du, daß man dir alles GANZ GENAU erklärt, und auf der anderen Seite hältst du Deine Informationen zurück ...

SOOO funktioniert das sicher nicht !

Toni
 

Ava

Gast

BeitragMo, Nov 15, 2004 16:45
Antworten mit Zitat
Ach Hot-Bit ... *lächel* ... Dich möcht ich in meinem Thema gar nicht sehn. Danke. Rolling Eyes


Mal davon abgesehen werde ich gern versuchen, die Methode zu erklären, wenn ich dieses Modul zu meiner Zufriedenheit abgeschlossen habe und das Interesse daran besteht.

mfG
+ Ava +
 

getlose

BeitragMo, Nov 15, 2004 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
also, Interesse besteht sicherlich :)
zumindest meinerseits

D2006

Administrator

BeitragMo, Nov 15, 2004 17:28
Antworten mit Zitat
Benutzer-Profile anzeigen
mir ist aufgefallen, dass das BlitzPlus only ist.

Aber der von Thoem verlinkte Code macht es für B3D verfügbar.
Wenn du dazu fragen hast, kannst du vertex ja eine PN schreiben.

MfG
 

Ava

Gast

BeitragMo, Nov 15, 2004 17:55
Antworten mit Zitat
Ava hat Folgendes geschrieben:
Ich finds aber sehr gemein, dass blitzPlus ganz offiziell Funktionen dafür bereitstellt, die bei blitz3D einfach fehlen. Sad
Rolling Eyes

Ja, vielleicht werde ich ihn mal anschreiben, denn so genau verstehe ich das dort nicht. Ich tausche mich grad auch ein wenig mit theShadow aus, vielleicht kann er mir weiterhelfen.

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group