Hallo,
die API wurde unter Vista ja mit DirectX beschleunigt. Würde das auch heißen, das die GDI+ beim zeichnen schneller ist? Bzw dass das Zeichnen mehr von der Grafikkarte übernommen wird? (unter Vista)
Gruß Stu
glaube nicht das GDI+ schneller sein wird, da die Berechnung der einzelnen Controls, AnzeigeElemente und auch Eigenkreationen weiterhin von der CPU übernommen werden.
GDI ist halt leider nicht für aufwendige grafische Anwendungen gedacht.
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
Das man aufwendigen Grafikkrams anderst lösen sollte, sollte jedem klar sein.
Aber nehmen wir mal die Funktion Invalidate().
Wenn ich alles neuzeichne dauert das ja "länger", also wenn ich Invalidate(Rectanlge) aufrufe.
Bei Invalidate(Rectanlge) werden die Paint Funktionen aber auch alle durchlaufen wie beim normalen Invalidate.
D.h. doch, dass das "Auf-den-bildschirm-zeichnen" schon recht lange dauert. Und genau das sollte ja mit Vista beschleunigt sein.
Und genau das sollte ja mit Vista beschleunigt sein.
Ist das eine Frage oder eine Aussage?
Aber nehmen wir mal die Funktion Invalidate().
Wenn ich alles neuzeichne dauert das ja "länger", also wenn ich Invalidate(Rectanlge) aufrufe.
Warum sollte das unter Vista nicht so lange brauchen?
Laut Microsoft ist Vista abwärtskombatibel zu GDI, GDI+ und älteren Direct3D-Anwendungen. (Graphics APIs in Windows Vista)
Da GDI+ aber weiterhin von der CPU berechnet und zur Darstellung genommen wird, wird es wohl keine (deutlichen) performance Vorteile geben.
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
Warum sollte das unter Vista nicht so lange brauchen?
Wie funktioniert das denn mit den Zeichnen? Unter der GDI wird doch erstmal alles in den normalen speicher geladen, und dann irgentwann umgeflippt.
Wäre es nicht möglich das Windows Vista Grafiken direkt zur Grafikkarte überträgt, und dass das Neuzeichnen (Invalidate()) dann auf kosten der Grafikkarte geht?
GDI ist langsam und wird langsam bleiben. Sonst würde es nicht DirectX geben und auch WPF benutzt nicht GDI sondern DirectX. Daran kannst du sehen in welche Richtung das ganze geht.