emacs-devel
[Top][All Lists]
Advanced

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

[Emacs Master d277123f4bf] pixel-scroll-precision-scroll-up-page feels p


From: Eval EXEC
Subject: [Emacs Master d277123f4bf] pixel-scroll-precision-scroll-up-page feels pause, but pixel-scroll-precision-scroll-down-page is smooth
Date: Tue, 3 Sep 2024 17:56:40 +0800
User-agent: Mozilla Thunderbird

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




reply via email to

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