AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi wie schnell ist Andorra?
Thema durchsuchen
Ansicht
Themen-Optionen

wie schnell ist Andorra?

Ein Thema von EarlyBird · begonnen am 18. Nov 2008 · letzter Beitrag vom 19. Nov 2008
Antwort Antwort
Seite 1 von 2  1 2      
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#1

wie schnell ist Andorra?

  Alt 18. Nov 2008, 10:42
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
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: wie schnell ist Andorra?

  Alt 18. Nov 2008, 10:50
Hi,

Mir fehlen zwar die Erfahrungen mit Andorra, aber Gegenfrage: Wozu brauchst du mehr als 59 fps?


Gruß
Ansgar
Ansgar
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#3

Re: wie schnell ist Andorra?

  Alt 18. Nov 2008, 10:52
Vielleicht ist das Produktivsystem, auf dem gearbeitet werden soll, hardwarmäßig schwächer ausgestattet
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#4

Re: wie schnell ist Andorra?

  Alt 18. Nov 2008, 11:00
Zitat von angos:
Mir fehlen zwar die Erfahrungen mit Andorra, aber Gegenfrage: Wozu brauchst du mehr als 59 fps?
Bei 59fps brauche ich mindesten 30sec. um von links nach rechts zu srollen.
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
  Mit Zitat antworten Zitat
Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#5

Re: wie schnell ist Andorra?

  Alt 18. Nov 2008, 11:14
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 Timebased Movement. Es sollte bei jeder FPS-Anzahl egal gleich sein, wie lange man braucht.Bei jeder FPS-Anzahl sollte die Zeit, die man braucht, immer gleich sein.(so ist es besser)

hier (zweiter Absatz) hab ich mal versucht zu erklären, was vSync ist - nur fallst du es noch nicht weißt.
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat
Gruber_Hans_12345

Registriert seit: 14. Aug 2004
1.439 Beiträge
 
Delphi 2007 Professional
 
#6

Re: wie schnell ist Andorra?

  Alt 18. Nov 2008, 11:30
Zitat von EarlyBird:
Zitat von angos:
Mir fehlen zwar die Erfahrungen mit Andorra, aber Gegenfrage: Wozu brauchst du mehr als 59 fps?
Bei 59fps brauche ich mindesten 30sec. um von links nach rechts zu srollen.
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
Nur so nebenbei, ich würde die Scrollbewegung nicht FPS abhängig machen, sondern einfach die Zeitmessen, und daraus dann die neue x und y position.
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 ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#7

Re: wie schnell ist Andorra?

  Alt 18. Nov 2008, 14:11
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.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: wie schnell ist Andorra?

  Alt 18. Nov 2008, 14:23
Sollte Höhe/Breite nicht außerdem eine Zweierpotenz sein?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von igel457
igel457

Registriert seit: 31. Aug 2005
1.622 Beiträge
 
FreePascal / Lazarus
 
#9

Re: wie schnell ist Andorra?

  Alt 18. Nov 2008, 14:27
Macht Andorra automatisch - aus seiner Textur wird automatisch eine 32x1024 Textur. Die Überstände sind dann halt verschwendeter Speicherplatz.
Andreas
"Sollen sich auch alle schämen, die gedankenlos sich der Wunder der Wissenschaft und Technik bedienen, und nicht mehr davon geistig erfasst haben als die Kuh von der Botanik der Pflanzen, die sie mit Wohlbehagen frisst." - Albert Einstein
  Mit Zitat antworten Zitat
EarlyBird

Registriert seit: 29. Mär 2007
235 Beiträge
 
#10

Re: wie schnell ist Andorra?

  Alt 18. Nov 2008, 14:59
Zitat von littleDave:
Hast du schon mal vSync abgeschaltet?
Wenn ich vSync abschalte "fliegen die Frames nur so an mir vorbei"
ü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 hier zu vSync.



Zitat von igel457:
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.
Habe ich auch nur für mein Testprojekt so genutzt (funktioniert aber auch)
Zitat von igel457:
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.
Die Textur größe habe ich nicht bedacht. Danke für den Hinweis.

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 von igel457:
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.
Am effektiven programmieren mit Andorra abeite ich gerade.

Besten Dank erstmal für alle Tips
Gruß EarlyBird
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz