The symptoms
We noticed that the direct, unbuffered output of some GDI primitives (i.e. the basic geometric shapes) via an HD 5870 or an HD 5750 was very slow compared to other cards under Windows 7. However, before we try to approach the causes, we should first look at the symptoms, because this is where the relevance for one or the other user group is first decided, and thus the question of whether one is affected or not. After all, it is by no means a problem that affects every user equally, but those whose software struggles with the consequences of the limitations become, in extreme cases, virtually spectators of an annoying slideshow.
Marked selection of multiple objects: Moving this selection in real time can become a test of patience
Problems with direct drawing
In principle, as we already measured in the first part of the article, the output of lines, curves, ellipses and polygons is especially sick. Also the fills are not really implemented quickly. For example, we could only measure about 4000 curves per second for the HD 5870 when drawing directly to the output device under Windows 7 without its own buffer. If we move only a single curve in real time with the help of the ROP, the total number of curves to be drawn already adds up to 50 with only 25 single steps per second (we remember the “make disappear” by drawing twice). Let’s just do the math. A simple object consists of 100 lines. To move this object smoothly for the eye, 25 motion steps per second would have to be drawn. Since we need already 2 drawing operations per step for the ROP, this results in a sum of 5000 operations per second. A value that would then already be over the HD 5870’s limit. Ornaments and cliparts, however, consist for the most part of considerably more objects, so that a smooth moving of these objects (“float”) is no longer possible. Placing them becomes a real game of chance, and this has a considerable negative impact on productivity and functionality.
Furthermore, many applications are kept so simple that the use of a buffer is actually not considered expedient as long as one can assume that the direct output also happens within the scope of the usual performance. Especially these programs suffer visibly from speed losses.
Problems when drawing to a buffer
Even if programs use their own buffer and the number of certain geometry shapes gets out of hand, there can be a visible loss of performance and thus slow output. Especially since the blitting of the buffer contents is not very fast.
What kind of programs are affected exactly?
All 2D programs that realize a drawing output via the GDI (and thus also run under Windows XP), if many drawing objects are to be output and if there is an editing option for graphical content (drawing programs, cover designers, planning programs, office programs)
With which programs did we specifically encounter problems?
- Corel Draw, Adobe Illustrator, Adobe Freehand MX, Nemetschek Allplan (2D area)
- Adobe Photoshop CS3/CS4 (more extensive vector objects on different layers)
- MS Publisher, MS Powerpoint, various house planners in 2D design mode
- MS-Excel when outputting larger charts and editing large tables with fills
- Various tradesman solutions, such as string planning (electrical), plumbing and heating planning
- Industry solutions in the industrial sector (wall element planning, floor plan planning, saw plans, etc.)
We would like to note that all listed programs already ran satisfactorily on conventional graphics cards and there are no arguments for buying an expensive Ati FireGL or Nvidia Quadro graphics card, when so far also LowCost cards in the range up to 50 Euro delivered good results. Craftsmen do not buy special cards, nor do real estate agencies.
Which programs are generally not affected?
- All 2D programs that realize a drawing output via Direct2D (and do not run under XP)
- All 3D programs that use Direct3D and do not output 2D content
- All programs that use OpenGL for 2D output
Conclusion and summary
You have to wait emotionlessly for the driver development and then decide whether the problems we described could be relevant for you personally. It mainly concerns the 2D performance under Windows 7 and is also only acute if the 2D output is done via the GDI or GDI. 2D software that also runs under Windows XP is therefore almost always affected by this problem. The performance is certainly sufficient for designing a small greeting card, but one should rather not want to move elaborate ornaments. In the end, it’s the amount of character content that decides.
However, since the ATI HD 5750 is also affected, we also fear an analogous restriction in the smaller 5 series cards, which will follow in the foreseeable future. These graphics cards will then be bought less for gaming, but rather in combination with PCs for everyday work. And what that can mean in some cases is what we have tried to describe in this chapter. Even though it is probably not a design flaw of the new cards, it can become a disaster for a user, at least in extreme cases. The drivers definitely need to be improved here, we’ll stay tuned.
- 1 - Einführung: Die Relevanz der 2D-Grafikausgabe über das GDI
- 2 - Das 2D-GDI und dessen Grafikausgabe von XP bis Windows 7 im Detail
- 3 - 2D-Grafikausgabe über das GDI: direkt oder gepuffert?
- 4 - Die Symptome der HD 5xxx-Serie und deren Relevanz unter Windows 7
- 5 - Tom2D: Unser einfacher 2D-GDI-Benchmark
- 6 - Tom2D: Textausgabe
- 7 - Tom2D: Linien
- 8 - Tom2D: Kurven
- 9 - Tom2D: Polygone
- 10 - Tom2D: Rechtecke
- 11 - Tom2D: Ellipsen
- 12 - Tom2D: Blitting
- 13 - Tom2D: Stretching
- 14 - Fazit
16 Antworten
Kommentar
Lade neue Kommentare
Mitglied
Veteran
Urgestein
1
Urgestein
1
Urgestein
Urgestein
Urgestein
Urgestein
Mitglied
Urgestein
1
Urgestein
Mitglied
1
Alle Kommentare lesen unter igor´sLAB Community →