Gedanken zu Sichtfeldern
Übersicht

AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Ich fühle mich so unverstanden. ![]() Btw. ich habe bei BGBnB mitgearbeitet... ![]() |
||
![]() |
stfighter01 |
![]() Antworten mit Zitat ![]() |
---|---|---|
LOL!!!
ok, wir haben beide das gleiche gefühl. also schätze ich kann dir hierbei nicht helfen. mfg stfighter |
||
Denken hilft! |
AvaGast |
![]() 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! ![]() (wenn ich die Kartengrösse halbiere, sind es sogar ~ 60 FPS ! und noch knapp 20 Frames bei 4000 Einheiten!! ![]() Und das alles ohne dll. 8) Und vielleicht kann ich da sogar noch ein bisschen mehr rausholen!! ![]() Das ist auf jedenfall schon mal total klasse! - denn wann hat man schon sooo viele Einheiten auf dem Schlachtfeld rumkrauchen?! *hihi* ![]() + Ava + [/edit] Achso, bei einer wahrscheinlichen Anzahl von 200 Einheiten sind die FPS irgendwo jenseits hundert. Auf einer 256x256 Karte bei ~ 250. ![]() 10.000 Einheiten laufen da noch auf ~ 30 Frames... ![]() |
||
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
was hast du gemacht? ![]() |
||
Norweger...
Spreche aber verdammt gut 8086 |
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Irgendwas total abgefahrenes mit Banks. ![]() [/edit] naja, erstmal abwarten, ob das auch alles noch schnell genug bleibt, wenn der Rest vom Spiel noch hinzukommt. ![]() |
||
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich will es wissen!!! ![]() |
||
Norweger...
Spreche aber verdammt gut 8086 |
![]() |
stfighter01 |
![]() Antworten mit Zitat ![]() |
---|---|---|
sag bloss du hast die bank adresse als imagebuffer() übergeben ![]() was auch immer, ich gratuliere. ![]() mfg stfighter |
||
Denken hilft! |
![]() |
Thoem |
![]() Antworten mit Zitat ![]() |
---|---|---|
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... |
AvaGast |
![]() 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. ![]() ![]() 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! ![]() + Ava + |
||
![]() |
eXceptION |
![]() Antworten mit Zitat ![]() |
---|---|---|
muss mal gratulieren... das wurde mit dll gemacht? ![]() |
||
Norweger...
Spreche aber verdammt gut 8086 |
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
nein, eben nicht.
als Tipp: WritePixelFast kann man auch mit Bank-Befehlen machen. Müsste nochmal einen Geschwindigkeitsschub geben. MfG |
||
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Kannst Du mir auch erklären, wie genau das Funktioniert? | ||
hot-bitGast |
![]() 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 |
||
AvaGast |
![]() Antworten mit Zitat |
|
---|---|---|
Ach Hot-Bit ... *lächel* ... Dich möcht ich in meinem Thema gar nicht sehn. Danke. ![]() 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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
also, Interesse besteht sicherlich :)
zumindest meinerseits |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
||
AvaGast |
![]() 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. ![]() ![]() 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. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group