Setting NSCursor often results in a brief, small jump

Originator:nolan
Number:rdar://47557243 Date Originated:2019-01-25
Status:Open Resolved:
Product:macOS Product Version:10.14.2 (18C54)
Classification:UI/Usability Reproducible:Always
 
Area:
Something not on this list

Summary:
When transitioning an NSCursor (e.g. between `arrow` and `pointingHand`), the cursor often jumps a small amount for a frame or two before jumping back to what seems like the proper position.

Steps to Reproduce:
1. Find somewhere in an app that uses the `pointingHand` cursor, such as the attached HTML file in Safari.
2. Move the mouse between the two halves of the HTML document to toggle between `arrow` and `pointingHand`.

Expected Results:
The `arrow` cursor transitions into the `pointingHand` cursor and back in a smooth fashion with no jumpiness.

Actual Results:
The cursor often (maybe 50% of the time?) jumps (by maybe 10-15 points if I had to guess) very briefly (maybe for a frame or two?) before snapping back to the expected positioning.

Possibly interesting notes:
If you open QuickTime Player and make a screen recording, you can't see the cursor jump. But if you watch with your own eyes, or record the screen with your iPhone (use slo-mo), you can see the cursor jump.

You can see the same issue in Preview. Open a wide or tall document, then hold Option-Space to switch to the open-hand cursor, and release to go to crosshair. Repeat a few times and you'll see the jump.

Once you see it, you can't un-see it. Sorry.

Baseless conjecture:
It might happen more between cursors that have different hot spots?

Version/Build:
macOS 10.14.2 (18C54)

Configuration:
iMac (Retina 5K, 27-inch, Late 2014)

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!