For what it’s worth, the scratch/ns-drawing branch has fixed this for me.

    https://github.com/emacs-mirror/emacs/tree/scratch/ns-drawing