Dear ATI/AMD, Please fix your video drivers!

I just recently finished a whole lot of code whereby the canvas in paint.net 4.0 is now rendering via Direct2D. This has numerous advantages: layer composition is finally off the UI thread, it’s faster, CPU usage is lower, and I even added back those darned “dancing ants” that everyone seems to be so fond of from ye ol’ version 3.36, etc. etc. Not to mention the next set of changes … which I won’t mention yet. Ok I will: I’m planning to move all rendering off the UI thread. I’m maybe 1/4th of the way there since layer composition is off of it, and now I have to get all of the tools to do the same (much of the rendering code in paint.net is multithreaded, but it still forks/joins/blocks on the UI thread, so the logic is still inherently single threaded).

Anyway.

It’s neat when ATI and NVIDIA keep one-upping each other by adding fancy antialiasing and other gizmo settings into their control panels. It’s fun to download a new game and then shoehorn whatever antialiasing and anisotropic filtering settings you want to use with it. Booting up the original Deus Ex and forcing it to use 131,072x antialiasing is a treat (for about 5 minutes anyway). However, it would be smart if they would not apply those settings to regular desktop applications.

Case in point. If you try to turn on “morphological filtering” on an ATI Radeon 5850 with the absolutely latest drivers downloaded just yesterday from their website: (click for full size)

I wish I had written a filter that made the text look that way. It’s supposed to be normal Calibri, but this “morphological filtering” makes the canvas look like an oil painting that’s being rained on. It’s fully animated and very trippy (hmm, I have some friends who may be interested in this). This also happens with other Direct2D-based applications, such as Windows Live Messenger 2011, so I’m quite sure it’s not some bit of wonky code I checked into paint.net 4.0.

So, here’s my plea to ATI: please fix your drivers so that this doesn’t happen with Direct2D-based desktop applications. I don’t want to add code that detects an ATI video card, and then snoops the registry or whatever you store configuration into, detects this morpho-whatever thing, and then forces software rendering. From what I can tell, all this setting really does is make games blurry and slow, and it’s worse than that “Quincunx” stuff that NVIDIA had on the GeForce 3/4.

And NVIDIA, I’m keeping my eye on you too …

Anyway this Radeon has got to go. My workstation had a GeForce GTX 260 Core 216 in it, and I’ll be reverting to it. I upgraded my gaming PC from the Radeon 5850 to a GeForce GTX 570, and figured why not put the Radeon in the workstation? (which has a Core i7-980x at 4.0GHz btw, mwahaha) The benchmarks show it’s quite a bit faster. Unfortunately this card is just glitchy, for additional reasons other than the LSD setting shown above. I don’t know if it’s because I’m running dual monitors in a weird configuration (one landscape, one portrait), or if I’m just unlucky. It never had any problems playing games. Oh well.

Advertisements

21 thoughts on “Dear ATI/AMD, Please fix your video drivers!

  1. 13xforever says:

    I don’t see the problem.

    This MLAA thing is _supposed_ to be working on any HW accelerated surface, be it a game or an app.

    This same problem arises in Fx/IE/Chrome with GPU composition and/or rendering, in any videoplayer that is using D3D surface to render to, etc. etc.

    In other words, it’s not YOUR problem to deal with. You might update a FAQ, but forcing SW renderer for ATi/AMD users because of this feature misuse is just wrong IMO.

    • Rick Brewster says:

      The problem is people turn it on and forget about it. A week later they try to use a WPF or Direct2D app, and it’s all smeary. They post on the app’s forum asking for “HELP!!!!!!!!!!!!!!” You can find these posts scattered all over the Internet right now. It’s just a poorly implemented, useless feature, which is costing everyone else time.

      • 13xforever says:

        Well, this feature is turned off by default AND it’s only available for 5 and 6xxx series anyway. And nVidia is adding the similar option to their drivers as well (though, you can enable features per-application there).

        So what, will you disable hw acceleration for two most popular GPU vendors?

        I understand that there’s a lot of people who will never ever read documentation and FAQ before starting to whine and flood the support forum, but I still stand by the suggestion to add this issue to the FAQ and be done with it.

        • Rick Brewster says:

          The problem with FAQs is that most people still don’t read them. If this feature is turned on, and I can easily detect that, then yes I’ll revert to software rendering. Even better would be for ATI and/or NVIDIA to detect that PaintDotNet.exe is running and turn off any of their gizmo 3D features.

      • James says:

        Yeah,

        But not really. Users who know enough to enable it can manage it’s use with CCC profiles, or the excellent RadeonPro tool.

        It’s disingenuous of you to suggest it is a useless feature, especially one that ‘makes games blurry and slow’. Educate yourself on Morphological AA before you comment – I’m sure you would expect the same courtesy of those commenting on Paint.NET.

        It’s an excellent IQ option when used correctly. If you don’t know how to use it, that’s your bad not AMD’s.

    • Rick Brewster says:

      I also put in some settings and optimizations with respect to antialiasing. If you want, you can disable selection outline antialiasing completely. If a selection is completely “rectilinear” (all straight vertical/horizontal edges, which is always the case when using the magic wand) then AA is also turned off. This helps a lot … although performance is still miserable when working with very large images and large, complex selections. Even implementing some hardcore SSE2 optimizations for geometry processing isn’t helping the framerate much. It does help in microbenchmarks (37% on x64, 60% on x86), but clearly the CPU time in the “real world” is being spent elsewhere.

      • John Dangerbrooks says:

        I do not know what exactly do you mean by “miserable” but as long as you give me the sort of ants that I see in Adobe Photoshop Elements, I am perfectly pleased. As for that blue color overlay, I personally prefer it gone.

        All I wish is to be able to select a colored rectangle on a different-colored background with a single try. In Adobe Photoshop Elements, I can do it very fast. In Paint.NET, I cannot. Hopefully, ants and a well-shaped cursor will help.

        • Rick Brewster says:

          The blue outline is drawn when a selection tool is active. It goes away when using the other tools. For self-intersecting selections it is otherwise very difficult to determine which pixels are included and which are not.

  2. Yannis A says:

    Funny that you say that. I’m still using the 194.x drivers for my old NVIDIA GeForce 6800GT on my desktop. The 2xx series is seriously unstable with rendering things in various games. I can’t remember the exact issues, but I do recall that that line of drivers caused serious rendering issues.

  3. TheFlyingFish says:

    You have a Core i7 980x at 4GHz in your workstation?

    I hate you. Or rather, I hate your ownership of such an awesome CPU. Actually, scratch that. I just wish I had one.

    Also, about the dancing ants: Why did they go away in the first place? I never saw anything wrong with them.

    • Rick Brewster says:

      The dancing ants, as rendered by GDI+, had significant performance issues and were killing battery life. I’m still not completely sold on having them in 4.0, but the performance is much better with Direct2D and hardware acceleration, plus I have better ways of and opportunities for managing the impact.

        • Rick Brewster says:

          “Dancing” doesn’t mean they dance, per se. It’s a dashed line where the dash offset is continually increasing (or rather, it animates from 0-7 and then flips back to 0 once it reaches “8”). The outline is able to follow the direction of each segment of the outline polygon. The ants style I’ve seen in Photoshop is effectively a static bitmap tile; the selection outline acts as a mask, and the bitmap’s offset animates, but it doesn’t follow the direction of each polygon segment.

          • John Dangerbrooks says:

            Yes, I know what “dancing” and “ants” mean. No need to explain metaphors. All I am saying is the only thing I care about a selection tool is that I select quickly and with one go instead of two, i.e. don’t miss the starting pixel the first time. Unnecessary visual effects (especially those that sacrifice performance) is what I prefer gone.

  4. jonrimmeron says:

    If this is affecting all Direct2D apps, then surely they’re gonna notice things looking wrong pretty much as soon as they turn on MPAA, most likely in IE/Firefox. I mean, how many users are going to…

    1) Manually turn on MPAA for the desktop
    2) Not use a recent version of IE/Firefox/Chrome
    3) Use paint.net

    …I can’t imagine it’ll be a common problem. If you’re really worried, can’t you just popup a dialog saying something like “paint.net had detected you are using an incompatible setting. Please disable MPAA to enable hardware acceleration. See the FAQ for more details.”?

  5. cmota says:

    Have to agree with Rick.

    Last time i messed around with that setting firefox got all messy.
    My first reaction to it was blaming firefox’s rendering engine but when i reset CCC to default settings everything was fine. People will very likely blame paint.net if they see that kind of rendering issues…

  6. GregD says:

    Sorry to put this here, but I was not able to leave any comments on the post “Paint.NET in 24 more languages?”, or find an email address for you, so I”m leaving it here.

    You mentioned that you were considering releasing the app and code for your translation program. Since I am in the middle of a multi-language silverlight app, that would be very helpful to me, especially with the incremental translations. (Rick – I may even release this “BingTranslateResX” utility, complete with source code, on its own.). Have you given it any more thoughts?

Comments are closed.