deleted
Übersicht

suberrorBetreff: deleted |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gelöscht | ||
- Zuletzt bearbeitet von suberror am Sa, Mai 06, 2017 16:27, insgesamt einmal bearbeitet
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Versuchs mal mit ql:Lockbuffer und ql:Writepixelfast | ||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wird auch nicht ausreichend schnell sein.
Meine Empfehlung: die Karte an sich dürfte ja recht statisch sein, d.h. keine größeren Veränderungen zu erwarten. Generiere also zu Programm- bzw. Levelstart die Minimap nur einmal und nutze später ql:copyrect o.ä. um den aktuellen Ausschnitt Darzustellen. Um weiter Performance zu gewinnen kannst du die Karte ja auch nur alle 10 Frames an die neue Posi setzen (ca. 1/6 Sekunde Delay im Normalfall- das ist zu verkraften). dann och die Einheiten nachgezeichne und fertig ist der Käse ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Naja, für eine 128x128 große Map dürfte die Geschwindigkeit eigentlich reichen (Solange sonst nichts Rechen- und Zeichenaufwendiges abläuft). Aber die 3-5 FPS sind trotzdem nicht normal... du liest ja hoffentlich nicht die ganze Map aus und zeichnest sie, oder? | ||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mein Tipp kommt nit von ungefähr, ich hatte nämlich selbst schon das Problem ![]() Allerdings ist ein 4096*4096 Bitmap auch nicht ohne. Weitere Alternative wäre dann, einmal pro Sekunde den Sichtbaren Bereich + ein gewisses Aussenareal für Scrolling (sagen wir 256*256, oder 512*512) als Image zu generieren. Das weitere Scrollen während der Sek. wie oben. Da ist probieren gefragt. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
suberror |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gelöscht | ||
- Zuletzt bearbeitet von suberror am Sa, Mai 06, 2017 16:27, insgesamt einmal bearbeitet
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
suberror hat Folgendes geschrieben: @3-5 fps - Meine System Config Siehst du ja in der Sig:)
@Map auslesen und zeichnen - Doch Klar Wie denn sonst ? - übrigends die map so ohne radar läuft locker mit 100-190 fps und das mit dem imagecreate - puhh da stockt der immer beim create so um die sekunde...vieleicht auf ein sprite zeichnen...hab gehört der 3D modus soll was schneller sein Hmmm, hab Signaturen ausgeschaltet ![]() Was ich damit meinte, dass du nicht die ganze Map auslesen sollst: Ich dachte, deine ganze Map wäre 4096 Tiles groß (was ziemlich groß wäre ![]() Die besser Methode ist aber wirklich, ein Bild beim Laden des Levels zu erstellen, dort rein zu zeichnen und dieses in der Schleife zu malen, die Karte wird sich ja nicht ändern. Du darfst natürlich nicht in jedem Schleifendurchlauf ein Bild erstellen und reinzeichnen... (Was ich aus deiner Beschreibung entnehme) EDIT: Hab mir grad dein System angeschaut. Ich habe heute mittag mal getestet, wie schnell mein PC eine 128x128 Pixel große Map mit WritePixelFast zeichnet. Mein Prozessor hat mehr als 1Ghz weniger als deiner, und die FPS entsprechen der Bildwiederholungsrate meines Monitors (natürlich mit Flip 1) |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du könntest ja einfach mal deinen aktuellen Code zum Darstellen posten - vielleicht finden wir ja nen Fehler ![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
suberror |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
gelöscht | ||
- Zuletzt bearbeitet von suberror am Sa, Mai 06, 2017 16:27, insgesamt einmal bearbeitet
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
den Code hab ich noch nicht durchgesehen, dazu brauch ich mehr Zeit. Ich würde dir aber zu der Lösung mit einer Ausschnittskarte raten. bei 4096*4096 belegt deine Minimap sonst nämlich schon 64 mb (4092²*4Byte)... | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
Apocalyptic |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich glaube, seine Karte ist 128x128 Tiles groß. Das geht zwar nicht aus seiner Beschreibung hervor, aber die Tatsache, dass das Produkt der Größe seiner Tiles und der Größe seiner MiniMap 4096 ist, würde dafür sprechen. Auch wenn es keinen Sinn gibt, die Größe der Karte in diesem Kontext in Pixel anzugeben ![]() Und auch wenn diese Angabe in Tiles wäre: Bei einer MiniMap von 128x128 Pixel wäre der Speicherverbrauch (für die Minimap) sowieso bei 128²*4 Bytes=64 KB Zitat: Ich hab mir überlegt das so hier mal zu Probieren:
1. Ich lade meine Map und erstelle daraus mittels Create Image meine Radar Map vor der Hauptschleife. 2. Sobald in der Hauptschleife ein Tile gändert wird, wird es entweder direkt zum Radar Image hinzugefügt und neu created oder aber einfach drübergepixelt, wobei das mit dem drüberpixeln so einiges an speed rausholen dürfte. Das ist das, was dir oben geraten wurde ![]() |
||
Suum cuique
[ www.ffs-net.de.vu ] [ Raycaster ] |
![]() |
IronstormErstklassiger Contest-Veranstalter |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habs auch so gemacht nur bei meiner Map habe ich 64,48 felder in einer größe von 32X32 und ich zeichne nur den sichtbaren bereich und trotzdem hgab ich ne FPS anzahl von 32. Warum nur?
PS: Meine Systemanforderungen: AMD Athlon 2000+, 512 MB Ram, Raedeon 9200 SE |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group