![]() |
wie schnell ist Andorra?
wie schnell ist Andorra 0.4?
Ich habe als Beispielprojekt PixelCheck verwendet. Im oncreate des Formulares erstelle ich 2000 Sprites. Jedes Sprite enthält ein Image das 25 Pixel breit und 900 Pixel hoch ist. Die Sprites können alle untechiedliche Farben haben. Nun werden alle Sprites von links nach rechts nenbeneinander positioniert (Top :=1; Left :=X*25) nach einem klick auf einen Button verschiebe ich nun alle Sprites in einer schleife 25Pixel nach links bis das letzte Sprite am Linken Bildschirm steht. Ich habe das ganze mit verschiedenen Methoden probiert. - AdSpriteEngine.X := AdSpriteEngine.X - 25 ; - AdSpriteEngine.Move(-25); Die Bilschirmauflösung geht bis zu 3200X900 (2Monitore) Ich erreiche allerdings max 59 FPS mit OpenGL egal bei welcher Auflösung. Das sollte doch auch schneller funktionieren oder? Mit DirektX wird das ganze übrigens sehr schlecht dargestellt. und die Geschwindigkeit ist stark von der Auflösung abhängig Hardware: 4GB Ram NVidia 9600 Wofür das Ganze gut ist? Es wird ein visuelles Kontrollsystem. In den "Farbbalken" werden auch noch Daten angezeigt. Man soll damit sehr schnell unteschiedliche Zustände der Daten erkennen können. Vieleicht gibt es für das ganze auch einen andern Ansatz, eventuell ohne Sprites?!? Ich bin für jeden Tip und jede Anregung dankbar Gruß EarlyBird |
Re: wie schnell ist Andorra?
Hi,
Mir fehlen zwar die Erfahrungen mit Andorra, aber Gegenfrage: Wozu brauchst du mehr als 59 fps? Gruß Ansgar |
Re: wie schnell ist Andorra?
Vielleicht ist das Produktivsystem, auf dem gearbeitet werden soll, hardwarmäßig schwächer ausgestattet :gruebel:
|
Re: wie schnell ist Andorra?
Zitat:
und das bei meiner doch recht gut ausgestatteten Hardware. Bei älteren PCs wird es dann wohl unerträglich langsam. Die 2000Stripes sind auch nur als Beispiel genannt. Es können durchaus noch wesendlich mehr werden. Gruß EarlyBird |
Re: wie schnell ist Andorra?
Hast du schon mal vSync abgeschaltet? Das kannst du global in den Einstellungen der Grafikkarte deaktivieren. Bei NVidia:
- Rechtsklick auf dem Desktop - NVidia Control Panel auswählen - Dann unter "3D Einstellungen" den Eintrag "3D Einstellungen verwalten" auswählen - In der Liste dein Eintrag "Vertikale Synchronisierung" auswählen (bei mir ist es der vorletzte Eintrag) - den Eintrag mal auf "Automatisch aus" setzen Aber die Anzahl der FPS sollte nicht beeinflussen, wie lange du brauchst, um von links nach rechts zu scrollen (oder ähnlich). Das ganze nennt sich ![]() ![]() |
Re: wie schnell ist Andorra?
Zitat:
Dann ist es auch egal, ob 60 FPS oder 120FPS, und 60FPS ist ausreichend für sowas, wobei, bei Flachbildschirmen würde ich wirklich wie oben erwähnt das vSync kontrollieren ... |
Re: wie schnell ist Andorra?
Hallo,
der Parameter der DoMove Methode ist auch nicht dazu da, eine Konstante zu übergeben, sondern die Zeitdifferenz seit dem letzten Frame (siehe auch Tutorial 2/3). Damit kannst du dann ganz einfach das TimeBased Moving erreichen. Ein weiteres Problem, das ich bei dir sehe: Eine Textur der Größe 25x900 ist eher suboptimal. Die Grafikkarte kann am besten quadratische Texturen verwalten. Wenn du also weitere Texturen dieser Größe hast, kannst du diese auf einer unterbringen und über die Pattern-Properties ansprechen. Was sind das für "Daten" auf diesen Streifen? Text? Wenn es um die Anzeige von solch "Statischen" Dingen geht, sind Sprites vielleicht sowieso der falsche Ansatz. Ich würde hier direkt Images verwenden. Andorra 2D an sich ist relativ schnell (natürlich nicht ganz so schnell wie das native verwenden der Grafikschnittstellen), es kommt nur darauf an, wie effektiv man damit programmiert. Diese Arbeit kann dir aber keine Engine abnehmen. |
Re: wie schnell ist Andorra?
Sollte Höhe/Breite nicht außerdem eine Zweierpotenz sein?
|
Re: wie schnell ist Andorra?
Macht Andorra automatisch - aus seiner Textur wird automatisch eine 32x1024 Textur. Die Überstände sind dann halt verschwendeter Speicherplatz.
|
Re: wie schnell ist Andorra?
Zitat:
über 600fps.(wobei das dann ja nicht ganz richtig ist, da ja nur ein Teil des Bildes fertig am Monitor ankommt) Danke für Deine Erklärung unter ![]() Zitat:
Zitat:
Ob ich mit den Sprites auf dem richrtigen Wege bin habe ich mich auch schon gefragt. Allerdings schien es mir mit Images auch nicht schneller zu gehen. Die Daten auf den Streifen kommen aus einer Datenbank und werden vertikal dargestellt. Ich habe das ganze auch schon als "GDI-Projekt" fertiggestellt allerdings ist es nicht sehr performant. Dann bin ich zufällig auf Andorra2D gestossen und nun versuche ich das ganze damit performanter zu bekommen. Sprites habe ich gewählt weil ich die Streifen auch mit der Maus verschieben muss (auch multiselect). Zitat:
Besten Dank erstmal für alle Tips Gruß EarlyBird |
Re: wie schnell ist Andorra?
Zitat:
Kann ich ein Image direkt in Andorra2D erstellen? oder muss ich eine Textur laden? Ist es besser eine ImageList zu verwende oder besser nur ein Image? Bin für jeden Tip dankbar Gruß Earlybird |
Re: wie schnell ist Andorra?
Du kannst Images natürlich einfach direkt erstellen:
Delphi-Quellcode:
AdImage := TAdImage.Create(TAdDraw);
//Variante 1 - Bild wird aus einer Datei geladen AdImage.Texture.LoadGraphicFromFile('C:\test.png'); //Variante 2 - Bild wird aus einem TGraphic-Objekt geladen AdImage.Texture.LoadFromGraphic(bmp); AdImage.Restore; //Wichtig |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:48 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz