all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [Emacs Master d277123f4bf] pixel-scroll-precision-scroll-up-page feels pause, but pixel-scroll-precision-scroll-down-page is smooth
@ 2024-09-03  9:56 Eval EXEC
  2024-09-03 18:14 ` JD Smith
  0 siblings, 1 reply; 5+ messages in thread
From: Eval EXEC @ 2024-09-03  9:56 UTC (permalink / raw)
  To: emacs-devel

Hello,

I'm help to test emacs master commit: d277123f4bf

I compile emacs source code by :

```bash

make extraclean
./autogen.sh \
   && ./configure CFLAGS='-O3 -mtune=native -march=native' \
   --prefix=$(realpath ../emacs-build/$(git branch --show-current | sed 
's/\//_/g'))\
   --with-mps=yes \
   --with-imagemagick  \
   --with-modules --with-x-toolkit=gtk3 --without-compress-install \
   --without-toolkit-scroll-bars --with-native-compilation --with-mailutils\
   --enable-link-time-optimization \
   --with-tree-sitter --with-xinput2  \
   --with-dbus  --with-native-compilation=aot \
   --with-file-notification=inotify\
   && make -j30 install
```

And I enable pixel-scroll-precision-mode by:

```elisp

   (setq-default
    pixel-scroll-precision-interpolate-mice nil
    pixel-scroll-precision-interpolate-page t
    pixel-scroll-precision-use-momentum nil
    pixel-scroll-precision-momentum-seconds 2.0
    pixel-scroll-precision-interpolation-between-scroll 1.0
    pixel-scroll-precision-interpolation-total-time 0.1
    pixel-scroll-precision-large-scroll-height nil
    )
   (pixel-scroll-precision-mode 1)
```

Then I open a rust project.

use touchpad to scroll up and down. When I use touchpad to 
`triple-wheel-up`, I feel very lag and pause.

When I `triple-wheel-down`, it's very smooth.

So I `profiler-start` and scroll, then `profiler-report` get:

1. pixel-scroll-precision-scroll-up-page (very lag and pause)

```

          923  68% - command-execute
          923  68%  - funcall-interactively
          923  68%   - pixel-scroll-precision
          861  64%    - pixel-scroll-precision-scroll-up
          861  64%     - pixel-scroll-precision-scroll-up-page
           45   3%      - eval
           22   1%       - mode--line-format-right-align
           14   1%          string-pixel-width
            4   0%        - eval
            3   0%           unless
            1   0%         - minions--prominent-modes
            1   0%          - cl-remove-if-not
            1   0%             cl-remove
           14   1%       - breadcrumb--header-line
           13   0%        - funcall
           12   0%         - breadcrumb-project-crumbs
           10   0%          - breadcrumb--project-crumbs-1
            5   0%             breadcrumb--format-project-node
            2   0%             file-name-nondirectory
            2   0%             split-string
            1   0%             directory-file-name
            2   0%            breadcrumb--summarize
            1   0%         - breadcrumb-imenu-crumbs
            1   0%          - let
            1   0%           - which-function
            1   0%            - add-log-current-defun
            1   0%             - treesit-add-log-current-defun
            1   0%              - treesit-defun-at-point
            1   0%               - treesit-thing-at-point
            1   0%                - treesit-thing-at
            1   0%                 - treesit-parent-until
            1   0%                  - #<byte-code-function 34C>
            1   0%                     treesit-node-match-p
            4   0%       - tab-line-format
            4   0%        - tab-line-tabs-fixed-window-buffers
            4   0%         - let*
            4   0%          - sort
            4   0%           - tab-line-tabs-window-buffers
            4   0%            - let*
            2   0%             - seq-remove
            1   0%                function
            2   0%             - seq-difference
            1   0%                seq-reduce
            2   0%       - minions--prominent-modes
            2   0%        - cl-remove-if-not
            2   0%         - cl-remove
            1   0%            cl-delete
            1   0%         unless
            1   0%       - if
            1   0%          frame-parameter
            1   0%         mode-line-window-control
            1   0%      - window-edges
            1   0%       - window-current-scroll-bars
            1   0%          frame-current-scroll-bars
           29   2%    - error-message-string
           23   1%     - substitute-command-keys
           13   0%        generate-new-buffer
            5   0%      - #<byte-code-function E7B>
            5   0%       - kill-buffer
            1   0%        - replace-buffer-in-windows
            1   0%         - unrecord-window-buffer
            1   0%            window-normalize-window
           23   1%    - message
           22   1%     - apply
           22   1%      - ad-Advice-message
           16   1%       - apply
           16   1%        - #<primitive-function message>
            1   0%         - clear-minibuffer-message
            1   0%            timerp
            1   0%         get-buffer-window-list
            4   0%    - select-window
            4   0%     - apply
            4   0%      - ad-Advice-select-window
            4   0%       - evil-refresh-cursor
            1   0%          evil-state-property
            1   0%          evil-set-cursor
            3   0%    - #<byte-code-function 70F>
            3   0%     - internal--after-with-selected-window
            3   0%      - select-window
            3   0%       - apply
            3   0%        - ad-Advice-select-window
            3   0%           evil-refresh-cursor
            1   0%      abs
            1   0%      round
          292  21% - redisplay_internal (C function)
            9   0%  - eval
            4   0%   - mode--line-format-right-align
            2   0%      string-pixel-width
            3   0%   - breadcrumb--header-line
            3   0%    - funcall
            2   0%     - breadcrumb-project-crumbs
            1   0%      - breadcrumb--project-crumbs-1
            1   0%         breadcrumb--format-project-node
            1   0%        breadcrumb--summarize
            1   0%     - breadcrumb-imenu-crumbs
            1   0%      - let
            1   0%       - which-function
            1   0%        - add-log-current-defun
            1   0%         - treesit-add-log-current-defun
            1   0%          - treesit-defun-at-point
            1   0%           - treesit-thing-at-point
            1   0%            - treesit-thing-at
            1   0%               treesit-node-at
            1   0%   - minions--prominent-modes
            1   0%    - cl-remove-if-not
            1   0%       cl-remove
            1   0%     tab-line-format
            4   0%  - tab-bar-make-keymap
            4   0%   - tab-bar-make-keymap-1
            4   0%    - tab-bar-format-list
            4   0%     - #<byte-code-function BB1>
            3   0%      - tab-bar-format-align-right
            2   0%       - tab-bar-format-list
            2   0%        - #<byte-code-function F83>
            2   0%         - keycast-tab-bar
            2   0%          - keycast--format
            2   0%           - format-spec
            2   0%              generate-new-buffer
            1   0%         string-pixel-width
            1   0%      - keycast-tab-bar
            1   0%       - keycast--format
            1   0%        - format-spec
            1   0%         - #<byte-code-function 1DC>
            1   0%            kill-buffer
           62   4% - timer-event-handler
           62   4%  - apply
           62   4%   - #<native-comp-function 
F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>
           62   4%      jit-lock-context-fontify
           11   0% - copilot--post-command
           11   0%  - apply
           11   0%   - exec/copilot-complete-advice
           11   0%    - if
           11   0%     - progn
            9   0%      - funcall
            9   0%       - #<interpreted-function EC0>
            9   0%        - funcall
            9   0%         - #<interpreted-function EE2>
            9   0%          - if
            9   0%           - progn
            5   0%            - funcall
            5   0%             - #<interpreted-function E0C>
            5   0%              - save-current-buffer
            5   0%               - apply
            5   0%                - #<interpreted-function FC3>
            5   0%                 - let
            5   0%                  - while
            5   0%                   - let
            5   0%                    - let*
            3   0%                     - mapc
            3   0%                      - #<interpreted-function BD5>
            3   0%                       - let*
            3   0%                        - add-hook
            3   0%                         - lsp--create-request-cancel
            3   0%                          - function
            3   0%                           - 
cconv-make-interpreted-closure
            3   0%                            - macroexpand-all
            3   0%                             - macroexp--expand-all
            2   0%                              - macroexp--all-forms
            2   0%                               - macroexp--expand-all
            2   0%                                - macroexp--all-forms
            2   0%                                 - macroexp--expand-all
            2   0%                                  - macroexp--all-forms
            2   0%                                   - macroexp--expand-all
            1   0%                                    - macroexp--all-forms
            1   0%                                     - 
macroexp--expand-all
            1   0%                                      - 
macroexp--all-forms
            1   0%                                       - 
macroexp--expand-all
            1   0%                                        - 
macroexp-macroexpand
            1   0% macroexpand-1
            1   0%                              - macroexp--all-clauses
            1   0%                               - macroexp--all-forms
            1   0%                                - macroexp--expand-all
            1   0%                                 - macroexp--all-forms
            1   0%                                  - macroexp--expand-all
            1   0%                                   - macroexp--all-forms
            1   0%                                    - macroexp--expand-all
            1   0%                                     - macroexp--all-forms
            1   0%                                      - 
macroexp--expand-all
            1   0%                                       - 
macroexp--all-forms
            1   0%                                        - 
macroexp--expand-all
            1   0%                                         - 
macroexp--all-forms
            1   0%                                          - 
macroexp--expand-all
            1   0%                                           - 
macroexp-macroexpand
            1   0% macroexpand-1
            1   0%                     - lsp--position-to-point
            1   0%                      - let*
            1   0%                       - lsp--line-character-to-point
            1   0%                        - or
            1   0%                         - let
            1   0%                          - if
            1   0%                           - let*
            1   0%                            - save-restriction
            1   0%                             - save-excursion
            1   0%                                forward-line
            3   0%            - lsp-document-highlight
            3   0%             - let
            3   0%              - lsp--document-highlight
            3   0%               - if
            3   0%                - progn
            3   0%                 - let*
            3   0%                  - if
            3   0%                   - lsp-request-async
            3   0%                    - let*
            3   0%                     - progn
            3   0%                      - lsp--send-request-async
            3   0%                       - let*
            3   0%                        - if
            3   0%                         - let*
            1   0%                          - seq-do
            1   0%                           - function
            1   0%                            - 
cconv-make-interpreted-closure
            1   0%                             - cconv-fv
            1   0%                              - cconv-analyze-form
            1   0% cconv--analyze-function
            1   0% lsp--create-async-callback
            1   0%                          - function
            1   0%                           - 
cconv-make-interpreted-closure
            1   0%                            - cconv-fv
            1   0%                             - cconv-analyze-form
            1   0%                              - cconv--analyze-function
            1   0%                               - cconv-analyze-form
            1   0%                                - cconv-analyze-form
            1   0%                                 - cconv--analyze-function
            1   0% #<native-comp-function 
F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_25>
            1   0%            - condition-case
            1   0%             - let
            1   0%              - save-current-buffer
            1   0%               - unwind-protect
            1   0%                - progn
            1   0%                 - setq
            1   0%                  - cons
            1   0%                   - json-parse-buffer
            1   0%                    - apply
            1   0%                     - lsp-booster--advice-json-parse
            1   0%                      - or
            1   0%                       - if
            1   0%                        - progn
            1   0%                         - let
            1   0%                            read
            2   0%      - apply
            2   0%       - #<native-comp-function copilot--post-command>
            1   0%        - s-starts-with-p
            1   0%           string-prefix-p
            9   0%   display-line-numbers-update-width
            9   0%   flycheck-error-list-update-source
            7   0% - exec/lsp-document-highlight-now
            7   0%  - let
            7   0%   - if
            7   0%    - progn
            7   0%     - if
            7   0%      - progn
            7   0%       - if
            7   0%        - progn
            7   0%         - let
            6   0%          - bounds-of-thing-at-point
            2   0%             make-closure
            2   0%           - #<byte-code-function 42F>
            2   0%            - forward-thing
            2   0%               forward-symbol
            1   0%             re-search-forward
            1   0%            if
            5   0% - winner-save-old-configurations
            5   0%  - winner-remember
            1   0%   - winner-win-data
            1   0%      window-edges
            4   0% - flycheck-hide-error-buffer
            4   0%    flycheck-error-message-buffer
            4   0% - sideline-flycheck--post-command
            4   0%  - sideline-flycheck--get-errors
            3   0%   - flycheck-overlay-errors-in
            3   0%    - flycheck-overlays-in
            3   0%     - flycheck-filter-overlays
            2   0%      - seq-filter
            2   0%       - seq-map
            1   0%        - apply
            1   0%         - #<byte-code-function 1B4>
            1   0%            mapcar
            1   0%        seq-sort
            3   0% - flycheck-display-error-at-point-soon
            3   0%  - run-at-time
            2   0%     timer-relative-time
            1   0%   - timer-set-time
            1   0%      timer--time-setter
            2   0% - jit-lock--antiblink-post-command
            1   0%    syntax--lbp
            1   0%    syntax-ppss
            2   0%   flycheck-error-list-highlight-errors
            1   0% - corfu--auto-post-command
            1   0%    corfu--match-symbol-p
            1   0%   which-key--lighter-restore
            1   0% - which-key--hide-popup
            1   0%    which-key--lighter-restore
            1   0% - hl-line-highlight
            1   0%  - apply
            1   0%     #<native-comp-function hl-line-highlight>
            1   0%   flycheck-perform-deferred-syntax-check
            1   0% - lsp--post-command
            1   0%  - lsp--idle-reschedule
            1   0%   - setq
            1   0%    - run-with-idle-timer
            1   0%     - timer-activate-when-idle
            1   0%        timer--activate
            0   0%   ...
```

2. pixel-scroll-precision-scroll-down-page  (very smooth, no pause)

```

          423  61% - redisplay_internal (C function)
           24   3%  - tab-bar-make-keymap
           24   3%   - tab-bar-make-keymap-1
           24   3%    - tab-bar-format-list
           24   3%     - #<byte-code-function 634>
           16   2%      - tab-bar-format-align-right
           16   2%       - tab-bar-format-list
           16   2%        - #<byte-code-function 544>
           14   2%         - keycast-tab-bar
           14   2%          - keycast--format
           12   1%           - format-spec
            8   1%              generate-new-buffer
            3   0%            - #<byte-code-function F35>
            1   0%               kill-buffer
            2   0%             format
            2   0%         - tab-bar-format-global
            2   0%          - #<native-comp-function 
F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_39>
            2   0%           - eval
            2   0%            - lsp--progress-status
            2   0%             - let
            2   0%              - s-join
            2   0%               - -keep
            1   0%                - #<interpreted-function 931>
            1   0%                 - let
            1   0%                    if
            5   0%      - keycast-tab-bar
            5   0%       - keycast--format
            4   0%        - format-spec
            2   0%         - #<byte-code-function 3A9>
            2   0%          - kill-buffer
            1   0%             tabspaces--local-buffer-p
            2   0%           generate-new-buffer
            1   0%          format
            3   0%      - tab-bar-format-global
            3   0%       - #<native-comp-function 
F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_39>
            2   0%        - eval
            1   0%         - lsp--progress-status
            1   0%            let
            1   0%         - flycheck-status-emoji-mode-line-text
            1   0%          - flycheck-status-emoji--check
            1   0%           - char-displayable-p
            1   0%              internal-char-font
           20   2%  - eval
           10   1%   - mode--line-format-right-align
            5   0%      string-pixel-width
            3   0%    - eval
            2   0%     - minions--prominent-modes
            2   0%      - cl-remove-if-not
            2   0%       - cl-remove
            1   0%          cl-delete
            1   0%       cdr
            6   0%   - breadcrumb--header-line
            6   0%    - funcall
            4   0%     - breadcrumb-project-crumbs
            4   0%      - breadcrumb--project-crumbs-1
            2   0%         directory-file-name
            1   0%         breadcrumb--format-project-node
            1   0%         split-string
            2   0%     - breadcrumb-imenu-crumbs
            2   0%      - let
            2   0%       - which-function
            2   0%        - add-log-current-defun
            2   0%         - treesit-add-log-current-defun
            2   0%          - treesit-defun-at-point
            2   0%           - treesit-thing-at-point
            2   0%            - treesit-thing-at
            1   0%               treesit-parent-until
            1   0%               treesit-node-at
            2   0%   - tab-line-format
            2   0%    - tab-line-tabs-fixed-window-buffers
            2   0%     - let*
            2   0%      - let
            2   0%       - seq-do-indexed
            2   0%        - seq-do
            1   0%         - mapc
            1   0%          - #<byte-code-function 74F>
            1   0%           - #<interpreted-function F23>
            1   0%              puthash
            1   0%   - minions--prominent-modes
            1   0%    - cl-remove-if-not
            1   0%       cl-remove
          189  27% - command-execute
          189  27%  - funcall-interactively
          189  27%   - pixel-scroll-precision
          187  27%    - pixel-scroll-precision-scroll-down
          187  27%     - pixel-scroll-precision-scroll-down-page
           81  11%      - posn-at-point
           81  11%       - apply
           81  11%        - #<primitive-function posn-at-point>
           30   4%         - eval
           13   1%          - mode--line-format-right-align
            7   1%           - string-pixel-width
            1   0%            - #<byte-code-function 08B>
            1   0%               work-buffer--release
            2   0%           - eval
            2   0%            - minions--prominent-modes
            2   0%             - cl-remove-if-not
            2   0%              - cl-remove
            1   0%                 cl-ldiff
           11   1%          - breadcrumb--header-line
           11   1%           - funcall
            8   1%            - breadcrumb-project-crumbs
            8   1%             - breadcrumb--project-crumbs-1
            3   0%                breadcrumb--format-project-node
            2   0%              - project-current
            2   0%               - apply
            2   0%                - exec-project-current-advice
            1   0%                 - or
            1   0%                    exec-project-current
            1   0%                split-string
            1   0%                project-root
            1   0%                file-name-nondirectory
            2   0%            - breadcrumb-imenu-crumbs
            2   0%             - let
            2   0%              - which-function
            2   0%               - add-log-current-defun
            2   0%                - treesit-add-log-current-defun
            1   0%                 - treesit-defun-name
            1   0%                    rust-ts-mode--defun-name
            1   0%                 - treesit-defun-at-point
            1   0%                  - treesit-thing-at-point
            1   0%                   - treesit-thing-at
            1   0%                      treesit-parent-until
            2   0%          - tab-line-format
            2   0%           - tab-line-tabs-fixed-window-buffers
            2   0%            - let*
            1   0%             - let
            1   0%                make-hash-table
            1   0%             - sort
            1   0%              - tab-line-tabs-window-buffers
            1   0%               - let*
            1   0%                - seq-difference
            1   0%                   make-closure
            2   0%            propertize
            2   0%          - if
            2   0%             frame-parameter
           33   4%      - eval
           14   2%       - mode--line-format-right-align
           11   1%        - string-pixel-width
            2   0%         - #<byte-code-function 733>
            2   0%            work-buffer--release
            2   0%           symbol-overlay-refresh
            1   0%        - eval
            1   0%           propertize
           11   1%       - breadcrumb--header-line
           10   1%        - funcall
            5   0%         - breadcrumb-imenu-crumbs
            5   0%          - let
            5   0%           - which-function
            5   0%            - add-log-current-defun
            5   0%             - treesit-add-log-current-defun
            3   0%              - treesit-defun-at-point
            3   0%               - treesit-thing-at-point
            3   0%                - treesit-thing-at
            3   0%                   treesit-parent-until
            1   0%              - treesit-defun-name
            1   0%                 rust-ts-mode--defun-name
            5   0%         - breadcrumb-project-crumbs
            4   0%          - breadcrumb--project-crumbs-1
            2   0%             breadcrumb--format-project-node
            1   0%             file-name-nondirectory
            1   0%           - file-relative-name
            1   0%            - apply
            1   0%             - #<interpreted-function 4A2>
            1   0%                my-cacheable-file-relative-name
            1   0%            breadcrumb--summarize
            1   0%        - cl-remove-if
            1   0%         - cl-remove
            1   0%          - seq-empty-p
            1   0%             cl-type-of
            4   0%       - tab-line-format
            3   0%        - tab-line-tabs-fixed-window-buffers
            3   0%         - let*
            3   0%          - sort
            2   0%           - tab-line-tabs-window-buffers
            2   0%            - let*
            1   0%             - seq-difference
            1   0%              - seq-reduce
            1   0%                 seq-empty-p
            1   0%             - seq-remove
            1   0%                seq-filter
            3   0%       - minions--prominent-modes
            3   0%        - cl-remove-if-not
            3   0%         - cl-remove
            1   0%            cl-delete
            1   0%            #<native-comp-function 
F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_8>
            1   0%         if
            2   0%    - select-window
            2   0%     - apply
            2   0%      - ad-Advice-select-window
            2   0%         evil-refresh-cursor
           33   4% - timer-event-handler
           33   4%  - apply
           33   4%   - #<native-comp-function 
F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_9>
           33   4%      jit-lock-context-fontify
           12   1%   flycheck-error-list-update-source
            8   1% - ...
            7   1%  - lsp--document-highlight
            7   1%   - if
            7   1%    - progn
            7   1%     - let*
            7   1%      - if
            7   1%       - lsp-request-async
            7   1%        - let*
            7   1%         - progn
            7   1%          - lsp--send-request-async
            7   1%           - let*
            7   1%            - if
            7   1%             - let*
            4   0%              - seq-do
            4   0%               - function
            4   0%                - cconv-make-interpreted-closure
            4   0%                 - macroexpand-all
            4   0%                  - macroexp--expand-all
            4   0%                   - macroexp--all-forms
            4   0%                    - macroexp--expand-all
            4   0%                     - macroexp--all-forms
            4   0%                      - macroexp--expand-all
            4   0%                       - macroexp--all-forms
            4   0%                        - macroexp--expand-all
            2   0%                         - macroexp--all-forms
            2   0%                          - macroexp--expand-all
            2   0%                           - macroexp--all-forms
            2   0%                            - macroexp--expand-all
            2   0%                             - macroexp--all-forms
            2   0%                              - macroexp--expand-all
            2   0%                               - macroexp--all-forms
            2   0%                                - macroexp--expand-all
            2   0%                                 - macroexp--all-forms
            2   0% macroexp--expand-all
            1   0%                         - macroexp--all-clauses
            1   0%                          - macroexp--all-forms
            1   0%                           - macroexp--expand-all
            1   0%                            - macroexp--all-forms
            1   0%                             - macroexp--expand-all
            1   0%                              - macroexp--all-forms
            1   0%                               - macroexp--expand-all
            1   0%                                  booleanp
            1   0%                           function-get
            2   0%              - lsp--create-async-callback
            2   0%               - let
            2   0%                - function
            2   0%                 - cconv-make-interpreted-closure
            1   0%                  - macroexpand-all
            1   0%                   - macroexp--expand-all
            1   0%                    - macroexp--all-forms
            1   0%                     - macroexp--expand-all
            1   0%                      - macroexp--all-forms
            1   0%                       - macroexp--expand-all
            1   0%                        - macroexp--all-forms
            1   0%                           macroexp--expand-all
            1   0%              - if
            1   0%               - let
            1   0%                - function
            1   0%                 - cconv-make-interpreted-closure
            1   0%                  - macroexpand-all
            1   0%                   - macroexp--expand-all
            1   0%                    - macroexp--all-forms
            1   0%                     - macroexp--expand-all
            1   0%                      - macroexp--all-forms
            1   0%                       - macroexp--expand-all
            1   0%                          function-get
            1   0%  - run-hooks
            1   0%   - lsp--update-inlay-hints
            1   0%    - if
            1   0%     - let*
            1   0%      - lsp-update-inlay-hints
            1   0%       - lsp-request-async
            1   0%        - let*
            1   0%         - progn
            1   0%          - lsp--send-request-async
            1   0%           - let*
            1   0%            - if
            1   0%             - let*
            1   0%              - function
            1   0%               - cconv-make-interpreted-closure
            1   0%                - cconv-fv
            1   0%                   #<native-comp-function 
F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_29>
            8   1%   display-line-numbers-update-width
            3   0% - flycheck-display-error-at-point-soon
            3   0%  - run-at-time
            2   0%     timer-relative-time
            1   0%   - timer-activate
            1   0%    - timer--activate
            1   0%       timer--time-less-p
            3   0% - exec/lsp-document-highlight-now
            3   0%  - let
            3   0%   - if
            2   0%    - progn
            1   0%     - if
            1   0%      - progn
            1   0%       - if
            1   0%        - progn
            1   0%         - let
            1   0%          - bounds-of-thing-at-point
            1   0%           - #<byte-code-function BED>
            1   0%            - forward-thing
            1   0%               intern-soft
            1   0%     - let
            1   0%      - lsp--cancel-request
            1   0%       - mapcar
            1   0%        - #<interpreted-function 29A>
            1   0%         - let
            1   0%          - lsp-notify
            1   0%           - lsp--send-notification
            1   0%            - mapcar
            1   0%             - #<interpreted-function 188>
            1   0%              - let
            1   0%               - if
            1   0%                - lsp--log-io-p
            1   0%                   plist-get
            1   0%    - and
            1   0%     - and
            1   0%        boundp
            3   0% - winner-save-old-configurations
            3   0%  - winner-remember
            1   0%   - winner-win-data
            1   0%    - winner-sorted-window-list
            1   0%       #<native-comp-function 
F616e6f6e796d6f75732d6c616d626461_anonymous_lambda_10>
            2   0% - #<interpreted-function C15>
            2   0%  - let
            2   0%   - while
            2   0%    - if
            2   0%     - let*
            1   0%      - mapc
            1   0%       - #<interpreted-function 66F>
            1   0%        - let*
            1   0%         - add-hook
            1   0%          - lsp--create-request-cancel
            1   0%           - function
            1   0%            - cconv-make-interpreted-closure
            1   0%             - cconv-fv
            1   0%              - cconv-analyze-form
            1   0%               - cconv--analyze-function
            1   0%                - cconv-analyze-form
            1   0%                 - cconv-analyze-form
            1   0%                  - cconv-analyze-form
            1   0%                     cconv-analyze-form
            1   0%      - if
            1   0%       - progn
            1   0%        - condition-case
            1   0%         - let
            1   0%            generate-new-buffer
            1   0% - evil-repeat-pre-hook
            1   0%  - evil-repeat-start
            1   0%     evil-visual-state-p
            1   0%   keycast--update
            1   0% - evil-repeat-post-hook
            1   0%    evil-repeat-stop
            1   0% - sideline-flycheck--post-command
            1   0%    sideline-flycheck--get-errors
            1   0%   flycheck-error-list-highlight-errors
```


Why `pixel-scroll-precision-scroll-up-page` is very lag and pause, but 
`pixel-scroll-precision-scroll-down-page` is very smooth?

Thank you




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-09-04  2:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-03  9:56 [Emacs Master d277123f4bf] pixel-scroll-precision-scroll-up-page feels pause, but pixel-scroll-precision-scroll-down-page is smooth Eval EXEC
2024-09-03 18:14 ` JD Smith
2024-09-04  1:13   ` Po Lu
2024-09-04  1:56     ` JD Smith
2024-09-04  2:32       ` Po Lu

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.