![]() |
the Power of (Tests verschiedener Render Funktionen)
Speed vergleich sowie Qualität unterschiedlicher Render Funktionen TransBlt, AlphaBlend sowie Kombination von Vordergrund und Hintergrund.
Source include. Anhang gelöscht. (Test erfolgreich) gruss |
AW: the Power of
Um welche Render-Funktionen handelt es sich? Wie unterscheiden sich diese technisch? Ein bisschen weiter musst Du Deinen Beitrag schon unterfüttern und um einen aussagekräftigen Titel möchte ich Dich ebenfalls bitten.
|
AW: the Power of
Also die FPS sind bei mir bei allen 3 Beispielen ziemlich identisch.
Bei der Qualität kann ich auch keine Unterschiede erkennen, aber das muss nichts heißen :mrgreen: (Ich hab für sowas nicht unbedingt ein Auge) |
AW: the Power of
Zitat:
Zitat:
Bei einem 75Hz Monitor sollte das schon anders sein. Zitat:
Random Gradient anklicken wenn man es nicht gut erkennen kann dafür habe ich es addiert. ;) Der unterschied bei Alphablend und Composited ist das beim ersten der Hintergrund unbeachtet bleibt. Das zweite kopiert den Hintergrund in das Sprite und rendert beides gleichzeitig was sich dementsprechend auf die CPU auswirkt. Ich werde es noch etwas ausweiten mit einem Sprite test der 200 Animierte einzelne Sprites (geklonte) auf einmal rendert und jedes einzelne für sich aus wählbar und verschiebbar macht. gruss |
AW: the Power of
Zitat:
Sorry, wenn da alles so schnell rumfliegt, wie soll man da kaum sichtbare Farbunterschiede bemerken? Aber mit einem helleren Hintergrund fällt es dann auf. Genau deswegen sollte man schon schreiben, worum es geht und wofrauf man achten muss. @Titel: Und ich dachte anfangs es geht um Mathematik. |
AW: the Power of
Zitat:
Zitat:
Zitat:
gruss |
AW: the Power of
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
In der Praxis macht es natürlich keinen Sinn mehr zu rendern, als der Bildschirm darstellen kann, aber für einen Performance Test sollte man Rendern lassen bis die CPU/GPU qualmt und schauen was man rausholen kann (egal wie viel der Bildschirm kann). Zitat:
Bei mir sieht beides gleich aus :gruebel: (Siehe Anhang) EDIT: Ja mit nem anderen Gradient sieht mans - hat sich erledigt. |
AW: the Power of
Zitat:
Zitat:
Was passiert wenn man den Hintergrund in das Sprite kopiert und anschließend beides gleichzeitig rendert. gruss |
AW: the Power of (Tests verschiedener Render Funktionen)
Transparent + Alphablend verbrauchen bei mir zwischen 0,1% und 0,3% CPU.
Composited benötigt 2,7% - 3,7% |
AW: the Power of (Tests verschiedener Render Funktionen)
Zitat:
Ich habe hier bei den ersten 0% und das letzte 10 > 12% (Core2 Quad Q9650 3GHZ) gruss |
AW: the Power of
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
|
AW: the Power of
Zitat:
Danke für die Info. Zitat:
66 FPS ist das Maximum bei mir. Der Timer selbst ist auf 5ms ausgelegt denke nicht das bei 0 mehr FPS angezeigt werden. gruss |
AW: the Power of
Zitat:
Wenn das mit der Ausgabe gekoppelt ist, wird es ausgebremst, da mehr eh nicht nöötig ist. Und Timer ... kommt drauf an welche. Denn einige Timer haben eine Minimal-Auflösung. (z.B. TTimer und GetTickCount haben einen internen Takt von etwa 16ms) |
AW: the Power of (Tests verschiedener Render Funktionen)
Zitat:
Selbst mit der Berechnung der FPS über timeGetTime (MMSystem) komme ich nicht drüber weil mit meinem Timer wie du schon sagst bei 16ms schluss ist. Werde dann wohl direkt mit TimeSetEvent also einen Timer auf Threadbasis arbeiten müssen wenn ich höhere Frames anzeigen will. Werde das mit meinem erweiterten sample abändern. gruss |
AW: the Power of (Tests verschiedener Render Funktionen)
Hat leider etwas länger gedauert.
Ich musste erst eine neue Funktion für meine Library schreiben die es mir ermöglich direkt im Speicher die Bitmap Objekte zu resizen ohne Umweg über speichern und Konsorte. Neuer Upload im ersten Beitrag. Es werden 200 Animierte Sprites zur gleichen zeit gerendert. Wenn man die Qualität testen will muss in den jeweiligen Funktionen der Radio Button das IsWindowVisible kommentiert werden damit man zugriff auf die einzelnen Funktionen bekommt. gruss |
AW: the Power of (Tests verschiedener Render Funktionen)
Ich verwende jetzt den MMTimer..
Wenn ich jetzt den Timer auf 1ms stelle dann habe ich folgende Resultate. TransBlt = 410 FPS aber 25% CPU AlphaBlend = 358 FPS auch 25% CPU Composited = 86 FPS 25% CPU Nur! Was für einen sinn macht das die Anwendung mit vollem Speed laufen zu lassen wenn dadurch die CPU anschließend mit 25% ausgelastet wird? Gut ich sehe die Frames die real gerendert werden wenn man mal davon absieht das beim 60HZ Monitor eh nur max 66 FPS dargestellt werden können. Ist schon fragwürdig das ganze. gruss |
AW: the Power of (Tests verschiedener Render Funktionen)
Zitat:
|
AW: the Power of (Tests verschiedener Render Funktionen)
Zitat:
Da ist nix mit reinbasteln in welcher Form auch immer. OpenGL\DirectX kein Problem.. aber das verwende ich nun mal nicht ;) Man kann die Frames noch etwas genauer analysieren\setzen über ![]() Zitat:
Auch hier GDI\GDI+ werden niemals über die GPU Rendern das ist etwas für OpenGL\DirectX. gruss |
AW: the Power of (Tests verschiedener Render Funktionen)
Ich dachte das Du das vorher mit dem Timer so abgeglichen hattest das bei um die 60 FPS ein lock stattfindet und nun ists unlocked auf 1ms ?
Hab mal eine Frage was bei Dir passiert wenn Du folgendes machst: Programm starten, auf [Animate] klicken, auf [Start] klicken. Staunen. Das erinnert mich an den Duracell-Hasen, nur das der Pinguin hier auf Speed ist ^_^ |
AW: the Power of (Tests verschiedener Render Funktionen)
Zitat:
Zitat:
Was soll das bringen ich will die vollen möglichen Frames anzeigen und nicht irgendetwas blocken. Und wie gesagt vergiss es mit VSync und anderer diverser Hilfsmittel ist alles zu ungenau und in dem fall bringt es nichts. EDIT: Der unterschied wie @himitsu schon sagte ist das der Taktgeber beim TTimer\SetTimer nun mal auf 16ms festgelegt ist mehr bekommst du nicht auch dann nicht wenn du diesen auf 0 setzt das hat aber nichts mit eigenständigen blocken oder (lock) zu tun.. es ist vorgegeben. Der MMTimer unterliegt dieser Beschränkung nicht deshalb kann man hier die Maximale FPS herauskitzeln wenn man den Timer auf 1 setzt. Aber wie schon gesagt das hat nix mit setzen einer Sperrung\Beschränkung zu tun. Mit setzen des VSync Signal lege ich nur fest das die FPS anzeige so ausgegeben wird wie der Monitor diese wiedergeben kann. Das geht aber mit GDI und GDI+ nicht das sagte ich aber schon. Zitat:
gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 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