Die Symptome
Wir mussten feststellen, dass die direkte, ungepufferte Ausgabe von einigen GDI-Primitives (also den geometrischen Grundformen) über eine HD 5870 bzw. eine HD 5750 im Vergleich zu anderen Karten unter Windows 7 sehr langsam erfolgte. Bevor wir jedoch versuchen, uns den Ursachen zu nähern, sollten wir zunächst die Symptome betrachten, denn hier entscheidet sich zunächst die Relevanz für den einen oder andern Anwenderkreis und damit die Frage, ob man davon betroffen ist oder nicht. Es ist nämlich durchaus kein Problem, das jeden Nutzer gleichermaßen trifft, aber diejenigen, deren Software mit den Folgen der Einschränkungen zu kämpfen hat, werden im Extremfall quasi zu Zuschauern einer nervenden Slideshow.
Markierte Auswahl mehrerer Objekte: Das Verschieben dieser Auswahl in Echtzeit kann zur Geduldsprobe werden
Probleme beim direkten Zeichnen
Prinzipiell krankt, wie wir es bereits im ersten Teil des Artikels gemessen haben, vor allem die Ausgabe von Linien, Kurven, Ellipsen und Polygonen. Auch die Füllungen werden nicht wirklich schnell umgesetzt. Wir konnten z.B. nur ca. 4000 Kurven pro Sekunde für die HD 5870 messen, wenn unter Windows 7 direkt und ohne eigenen Puffer auf das Ausgabegerät gezeichnet wird. Verschieben wir nur eine einzige Kurve in Echtzeit mit Hilfe des ROP, so summiert sich bereits bei lediglich 25 Einzelschritten pro Sekunde die Anzahl der insgesamt zu zeichnenden Kurven auf 50 (wir erinnern uns an das „Verschwinden lassen“ durch zweimaliges Zeichnen). Rechnen wir einfach mal nach. Ein einfaches Objekt besteht aus 100 Linien. Um dieses Objekt für das Auge ruckelfrei zu verschieben, müssten 25 Bewegungsschritte pro Sekunde gezeichnet werden. Da wir für den ROP pro Schritt bereits 2 Zeichenoperationen benötigen, ergibt dies eine Summe von 5000 Operationen pro Sekunde. Ein Wert, der dann bereits über dem Limit der HD 5870 läge. Ornamente und Cliparts bestehen jedoch zum Großteil aus wesentlich mehr Objekten, so dass ein ruckelfreies Verschieben dieser Objekte („float“) nicht mehr möglich ist. Das Platzieren gerät regelrecht zum Glücksspiel und beeinträchtig die Produktivität und Funktionalität durchaus erheblich.
Desweitern sind viele Anwendungen so einfach gehalten, dass das Nutzen eines Puffers eigentlich nicht als zweckmäßig erachtet wird, solange man voraussetzen kann, dass auch die direkte Ausgabe im Rahmen der üblichen Performance geschieht. Gerade diese Programme leiden sichtbar unter Geschwindigkeitseinbußen.
Probleme beim Zeichnen in einen Puffer
Selbst wenn Programme einen eigenen Puffer nutzen und die Anzahl bestimmter Geometrieformen überhand nimmt, kann es zum sichtbaren Leistungsverlust und damit einer langsamen Ausgabe kommen. Zumal das Blitten der Pufferinhalte nicht sonderlich schnell erfolgt.
Welche Art Programme sind genau betroffen?
Alle 2D-Programme, die eine Zeichenausgabe über das GDI realisieren (und damit auch unter Windows XP laufen), wenn viele Zeichenobjekte auszugeben sind und wenn eine Bearbeitungsmöglichkeit für grafische Inhalte existiert (Zeichenprogramme, Coverdesigner, Planungsprogramme, Office-Programme)
Bei welchen Programmen haben wir konkret Probleme festgestellt?
- Corel Draw, Adobe Illustrator, Adobe Freehand MX, Nemetschek Allplan (2D-Bereich)
- Adobe Photoshop CS3/CS4 (umfangreichere Vektorobjekte auf verschiedenen Layern)
- MS Publisher, MS Powerpoint, verschiedene Hausplaner im 2D-Entwurfsmodus
- MS-Excel beim Ausgeben größerer Charts und dem Editieren großer Tabellen mit Füllungen
- Diverse Handwerkerlösungen, wie Strangplanung (Elektro), Sanitär- und Heizungsplanung
- Branchenlösungen im Industriesektor (Wandelementierung, Grundrissplanung, Sägepläne usw.)
Wir möchten anmerken, dass alle aufgeführten Programme auf herkömmlichen Grafikkarten bereits zufriedenstellend liefen und es keine Argumente dafür gibt, eine teure Ati FireGL oder Nvidia Quadro Grafikkarte zu kaufen, wenn bisher auch LowCost-Karten im Bereich bis 50 Euro gute Ergebnisse lieferten. Handwerker kaufen keine Spezialkarten, Immobilienbüros auch nicht.
Welche Programme betrifft es generell nicht?
- Alle 2D-Programme, die eine Zeichenausgabe über Direct2D realisieren (und nicht unter XP laufen)
- Alle 3D-Programme, die Direct3D nutzen und keine 2D-Inhalte ausgeben
- Aller Programme, die OpenGL für die 2D-Ausgabe nutzen
Fazit und Zusammenfassung
Man muss emotionslos die Treiberentwicklung abwarten und dann entscheiden, ob die von uns geschilderten Probleme für einen persönlich relevant sein könnten. Es betrifft überwiegend die 2D-Performance unter Windows 7 und ist auch nur dann akut, wenn die 2D-Ausgabe über das GDI bzw. GDI++ erfolgt. 2D-Software, die auch unter Windows XP läuft, ist demnach fast immer von diesem Problem betroffen. Zum Gestalten einer kleinen Glückwunschkarte reicht die Leistung sicherlich, aufwändige Ornamente hingegen sollte man lieber nicht verschieben wollen. Letztendlich entscheidet dann also der Umfang der Zeicheninhalte.
Da allerdings auch die ATI HD 5750 betroffen ist, befürchten wir auch eine analoge Einschränkung bei den kleineren 5er-Karten, die in absehbarer Zeit folgen werden. Diese Grafikkarten werden dann weniger zum Spielen, sondern eher in Kombination mit PCs für den Arbeitsalltag gekauft. Und was das in einigen Fällen bedeuten kann, das haben wir in diesem Kapitel versucht zu schildern. Auch wenn es vermutlich kein Designfehler der neuen Karten ist, kann es zumindest im Extremfall für einen Anwender zur Katastrophe werden. Hier müssen die Treiber definitiv nachgebessert werden, wir bleiben dran.
7 Antworten
Kommentar
Lade neue Kommentare
Urgestein
1
Urgestein
1
Neuling
Urgestein
Urgestein
Alle Kommentare lesen unter igor´sLAB Community →