emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: macOS metal rendering engine in mac port


From: Aaron Jensen
Subject: Re: macOS metal rendering engine in mac port
Date: Mon, 24 May 2021 10:58:23 -0700

On Mon, May 24, 2021 at 9:43 AM Eli Zaretskii <eliz@gnu.org> wrote:
>
> Of course.  But it also does that for every other face, starting with
> font-lock faces.  So something is still amiss here, because 40 is too
> small a number.

I'm not seeing this. With line numbers off the only call to
merge_faces is for escape-glyph when I use scroll-up-benchmark. I'm on
Alan's surface-stuff branch if that makes any difference.

> > > Also, what did Emacs do when you collected these numbers, and in which
> > > buffer under what major mode?
> >
> > emacs -Q src/xdisp.c with scroll-up-benchmark
>
> Then you should see font-lock-comment-face, font-lock-keyword-face,
> font-lock-variable-name-face, etc., and calls to merge_face_ref for
> them coming from face_at_buffer_position.

Yeah, I don't see calls to merge_faces for these. Here's the debug code I added:

@@ -6646,10 +6648,16 @@ face_at_string_position (struct window *w,
Lisp_Object string,
    Return new face id.
 */

+long mfc = 0;
+
 int
 merge_faces (struct window *w, Lisp_Object face_name, int face_id,
             int base_face_id)
 {
+
+fprintf(stderr, "x merge_faces: %d %d %ld\n", face_id, base_face_id, mfc++);
+debug_print(face_name);
+
   struct frame *f = WINDOW_XFRAME (w);
   Lisp_Object attrs[LFACE_VECTOR_SIZE];
   struct face *base_face = FACE_FROM_ID_OR_NULL (f, base_face_id);



reply via email to

[Prev in Thread] Current Thread [Next in Thread]