Photoshop: Inaccurate selections with Radeon graphics cards on Mac OS

After installing Lion, selections with the Rectangular Marquee Tool generally are reduced by one pixel when the mouse button is released. For example, dragging a 25x25px square results in a 24x25px selection.

I have this problem, too, and it's made doing accurate UI work with Photoshop utterly maddening.

Potentially related, selections were also off pre-Lion when using OpenGL rendering. Disabling OpenGL and restarting Photoshop fixed the selection issue pre-Lion, but the issue is there in Lion with or without OpenGL.

The issue occurs for me under both CS5 and CS5.5 only at 100% zoom. (Higher zoom levels seem to have accurate selections, and lower zoom levels are ambiguous). It occurs with a freehand rectangle selection as well as Fixed Size selections.

Here's a quick video of the bug in action:
http://static.command-tab.com/temp/bu...
In all cases, I was careful to create a selection at 100% zoom that was *dead on* matching the blue square. Yet, when I released the mouse button to confirm my selection, it jumped and missed my carefully-aimed target by a pixel. More often than not, it misses by moving my whole selection up or by just raising the bottom edge of my selection by one pixel.

For someone who does pixel accurate work, it's frustrating to have to make a selection two, three, four times or more to get the size to "stick".

Possibly related, I encounter this bug with Photoshop's "Enable OpenGL Drawing" turned off under Preferences -> Performance. With OpenGL drawing turned on, both the in-progress creation *and* completed selection don't match my cursor positions exactly. I typically turn off OpenGL drawing because it decreases marquee selection accuracy, and did so even before this Lion & CS5+ bug manifested. The two may be related, though. It would definitely be worth looking into. I can create another screencap with OpenGL turned on, if needed.

I'm not sure if this is related, but the eyedropper tool for me exhibits a strange pixel shift at times in Lion, in both Photoshop CS5 and CS5.1. Sometimes, the preview circle will shift one pixel from where the cursor is, and show the color of that pixel instead. When I let go of the mouse button, the color that the cursor is actually on does get selected though. Sometimes it works fine, sometimes it looks like it shifts the circle over to the right, sometimes one pixel down, sometimes down and to the right. I can see the circle actually move right after it appears. I took a screen recording of this happening, the odd thing is that although I was 100% sure my cursor was on the rightmost edge of the blue square, in the recording, it shows it on the white part to the right of the square. You can see when the mouse is released though, that blue is the foreground color, not white like the circle shows should be. This never happened in Snow Leopard.

This is extremely frustrating. I used to be able to zip around with great accuracy (and always touted the wonderful "feel" of adobe products because of the pixel accuracy - when drawing bezier curves, for example). I do pixel-perfect work and this is driving me nuts. :(

When I make a selection, the selection displays one pixel off from where it should be. As seen in the screenshot below the selection is actually flush to the right edge of the canvas even though it displays 1px off. If I pan the screen around the gap goes away in some spots which leads me to believe this is some sort of compatibility issue between certain Radeon cards and Photoshop.

I have searched around and it would seem many people have experienced this issue. All of my software is up to date. If I turn off OpenGL then this display issue goes away, however this is not a fix. A brand new top of the line iMac should have no problem running Photoshop. The problem also does not seem to be isolated to CS 5.1 or OS X 10.7.1.

Here are some screen shots to better illustrate the OpenGL problem with many Macs. The selection marquee is offset 1 pixel right and 1 pixel down while drawing. Once the mouse is released, the marquee snaps in position on the horizontal axis, but remains off in the vertical axis.
Changing the OpenGL options has no effect on this behavior.

This is so crazy there is a topic for this, I just assumed it was broken on my machine, but the fact that so many users are having issues with it, well, it's kind disheartening. I'm a designer so when things are inaccurate my work suffers, if my work suffers I don't get paid, ipso facto, I get hungry. Little help adobe! Your products rock!

Seconded. I see the issue exactly as I video-captured (above) on my 2.13 GHz Late 2010 MacBook Air with an NVIDIA GeForce 320M 256 MB card. That makes two machines for me as well, with different graphics card manufacturers.

Chris, I think what we're all hoping for here is that, if it's an Apple bug that's affecting Photoshop, we'd like to see Adobe work with Apple to get the issue resolved. And if it's not an Apple bug, we'd like a fix from Adobe for the issue.

We've reproduced the problem in other applications. But it's likely that Photoshop is the only application you are using that uses the Cocoa APIs and OpenGL where you can see the offset.

We've been working with Apple on these issues for a couple of years, but new bugs keep getting introduced with each OS/driver update. And if we work around the bug, then the fix will result in an offset as well.

Your assertion that I'm complaining about an Apple driver bug may very well be true, but is both flippant and unhelpful. Unfortunately, unlike JacksonC, THAT is what I have come to expect from Adobe recently.

Let me suggest how you could have made the same point without sounding unprofessional.

"Thanks for keeping this thread going, folks. We are aware of this issue. We currently think that this problem it is related to a bug in an Apple graphics driver. We are doing all that we can and will update this thread as we know more. Some workarounds that have been suggested are (...)"

We're investigating this issue. As a workaround, if you base your selection on the cursor position instead of the marching ants positions, the selection should still be faithful to the cursor position on mouse-up.

For rectangular marquee? If you give me your graphics card I can see if I can reproduce that. That would be a slightly different behavior from what's mentioned here. The final drawn marquee should still be drawing at the crosshairs of the cursor position on mouse up.

Eye Dropper tool, Shape tools, Marquee tools, and even sliders on panels (sometimes i drag opacity down to 0 and then look back and it's mysteriously at 1)

Usually when drawing shapes, I keep an eye on the info panel so that i can see the pixel dimensions. For example, I'll drag a rectangle out to 200x200 as shown in the info panel - and again, as soon as I release it shifts to 200x199 or something.

With the eyedropper tool and color selector window open, i can put the cursor in one spot & press the mouse button down - see the color update accurately, but as soon as i release, the color updates to one of the neighboring pixels. Without moving the mouse, i can reproduce this behavior over & over...

For better or worse all graphics driver updates for Apple are installed through system updates. So if the bug is on Apple's side we have to wait for them to fix it instead of updates from individual GPU makers. Chris mentioned that it's been seen mostly with Radeon, and is a GPU-related bug, but the issue appears to be on the system level as it relates to GPU, so we're waiting on Apple.

Here's video explaining the part about color picker.
You have to try to pick color of a particular pixel from area with a lot of different colors in it (text with anti-aliasing is a good example). You'll see that when I pick color and release mouse button, cursor changes to a circle and a different color is selected.

By the way, I'm just wondering -- do Adobe developers report all these issues to Apple? I mean, Mac has reputation of a preferred platform for all kinds of designers, so I was wondering if Apple is aware of this platform's conflicts with Adobe products.

Experiencing the same here with the selection tool, until I disabled OpenGL Drawing and relaunched Photoshop. I still see that sometimes when I drag, the marching ants no longer line up perfectly with the cursor. When I release the mouse, the selection is based on where the cursor is. I guess this is what Michael meant above. Thanks.

I believe there's a regression in Photoshop CS5 (and maybe CS4?) in that at 100% zoom, attempting to marquee an exact rectangle will often result in the marquee being off by a pixel in either dimension. Extremely frustrating. I'm using a standard Apple wired mouse and in any other application, I can marquee with single pixel accuracy. Only workaround that exists (which hurts productivity) is to zoom in at least 200% (but 300% or higher works even better).

Specific example: Have an image of say 1020 by 768 at 100% zoom. Attempt to marquee a middle area of 200 by 100. When the mouse is still down, the Info inspector will show you that the area is indeed 200 by 100. Releasing the mouse button will then often end up giving you a marquee of 199 by 100, 200 by 99, etc.

Exactly!! I have to try 4 or 5 times, often, to get the marquee or shape later to draw to the pixel size when the mouse button is released. If you watch the dimensions in the Info box, you will see this for sure. It's incredibly annoying.

Something new: when using the eye dropper, when you drag over an area with the mouse down, watching the color selection change, when you let go of the button, it often jumps to a neighboring pixel. This is most notable on edges. Say you want to sample a color on the very edge of a gradient. It often grabs a pixel near by.

Are any of you getting this with other tools? I'm experiencing all the above, but also something similar when moving layers http://feedback.photoshop.com/photosh... Am wondering if it might be related.

This is pathetic. Eight months since being reported, and no solution in sight. I have the same problem on a mid-2009 17" MacBook Pro. Marquee selections and slider adjustments are both unreliable. This is completely unacceptable. To top things off, the only reason I upgraded from CS4 to CS5.5 late last year is because, at the time, Adobe said you would have to pay full price to get CS6 if you weren’t upgrading from CS5.x. I know Adobe has since changed course on this (thankfully) but I’m still out the roughly $500 I spent for the upgrade and will have to spend another $500 or so to get CS6, which will hopefully fix the issue. No other graphics app on my Mac has these kinds of problems. Seriously, screw Adobe.

I just tried out the Photoshop CS6 beta on my MacBook Air, and the bug appears to be fixed or worked around, because selections are dead-on, with or without OpenGL. This fix, plus the other additions to CS6 (in particular, the Layers panel improvements) will make this a must-have upgrade for me!

Sounds like you're able to isolate the bug. It'd be decent if you could roll out a patch for CS 5-5.5 users who purchased an upgrade from 4 only to find the bug introduced! The whole suite isn't exactly cheap! I can't see myself upgrading for some time. Besides, CS5.5 is not all that old. Surely Adobe value their customers enough to offer more than minimum support for their products.

Adobe! You are KILLING me with this bug! Stop spending time on conferences and fix your product. Also the movement of dragging the marquee outside the window is SO SLOW. How is it possible that Photoshop get worse with each new version?? Shouldn't it get progressively better?

It does get significantly better with each version. What, specifically are you seeing?

Also, the radeon selection problem is due to a bug in the driver, which we attempted to work around. Unfortunately different versions of the driver have different behaviors. For instance, I'm not seeing this in 10.7.5 with a Radeon 4670 or 7950.

Here's an update with my modern hardware. I'm running Photoshop 13.0.5 x64 on a Mid 2013 MacBook Air with an Intel HD Graphics 5000 GPU. With "Use Graphics Processor" OFF in Preferences under Performance (which makes a difference), I'm seeing these behaviors:

When I start to make a selection from top-left to bottom-right of a square, the top edge of the "potential" marquee appears to be 1 pixel above where the origin of my selection is, though when I release the mouse button to confirm my selection, the finished marquee moves down 1 pixel and lands on the top edge I intended to include in my selection. So, in this case, the end result is what I wanted given my starting coordinates, but it's not what it looked like I was going to get while I was making the selection.

Also while doing the above operation, the right edge of the "potential" marquee is 1 pixel to the right of the vertical line of crosshair cursor. In contrast, the bottom edge of the "potential" marquee is perfectly aligned with the horizontal line of the crosshair cursor. In this aspect, to get my selection to be what I intend, I have to place the right edge of the marquee on the vertical column of pixels I'd like to include. That's consistent with the Photoshop marquee I know and love, but if I let the marquee go using the crosshair, my selection would be 1 pixel too wide to the right.

When I turn GPU usage back on in Preferences and restart Photoshop, the same test exhibits the same 1 pixel right-side inaccuracy as my second bullet above, as well as the same behavior on the bottom edge: The marquee edge sits 1 pixel below the horizontal line of the crosshair cursor.

One other thing I noticed while doing these tests is that the width of the individual "potential" marquee segments is different depending on the state of the GPU usage; Having the GPU on makes the black and white marquee segments about double the length. It's an odd inconsistency that makes it surprisingly easy to find out whether or not GPU acceleration is enabled. I prefer the shorter segments, but if selections were accurate in one state or another, I'd stick to that state!

Sorry for being so wordy, but I tried to be very specific. Let me know if you want any more details or experiments done.

That's not a particularly helpful comment for the end user. It's like saying you can use Photoshop without a display, with the disclaimer "the application is working, honest". The point is, the user is still not going to get any work done.

Couldn't we just get a fix placed in settings to correct the ant-march display by X by Y pixels? I've had this same problem since CS 3 (all on PC). The error's consistent and being able to adjust this in settings seems to make the most sense.

When I make selections on OS X 10.8.5 under Photoshop CS6 13.0.5 on a Mid-2013 MacBook Air with an Intel HD Graphics 5000 GPU here's what I see:

With GPU acceleration on, when I drag a marquee and release, the exact area that I've selected does not change between mouse-drag and mouse-release. This is good! However, there are issues: While I'm dragging the selection, the bottom and right marquee edges do not line up with the crosshair cursor, regardless of the direction in which I drag. Those sides are offset from the selection origin to the right by 1px and below by 1px. So, if you are watching the marquee edges while you make the marquee, you'll get an accurate selection. But if you're watching the cursor, it will be inaccurate and you'll get a result like this:

With GPU acceleration off, when I drag a marquee and release, the area I've selected DOES change between mouse-drag and mouse-release: The marquee size stays as I selected, but the whole marquee moves downward by 1px. I've prepared an animation of this here, so you can see the drag-and-release in action:

Also with GPU acceleration off, I'm seeing an issue similar to when GPU acceleration is on: While I'm dragging the selection, the top and right marquee edges do not line up with the crosshair cursor. Those sides are offset from the selection origin to the right by 1px and TOP by 1px (instead of bottom, like when GPU acceleration is on). So if you're watching the crosshair while making the selection, you'll end up with a marquee that's offset to the right 1px. Note that in this case, the top edge was off while making the selection, but because of the downward jump, it' actually ends up where it should be along the top edge.

However, if you watch the edges instead of the cursor, you'll end up with something like this (2-second animated gif):

This is really frustrating! It seems like no matter how you approach making selections, marquees just don't come out exactly right, but they used to in past versions of Photoshop and/or OS X. I realize that driver bugs are some of the most troublesome bugs to work around, and as someone who develops software for a living, I sympathize, but I hope this bug can be resolved soon. If there's any more detail I can provide, let me know — heck, I would be willing to drive down to San Jose from the north bay on a weekday to show some folks in person :)

Sam - you're not showing a marquee problem. And the marquee problem is in the driver software for MacOS. We've done what we can, but we can't work around every change in the driver software with every OS release.