Attach (recommended) or Link to PDF file here:

Configuration:
- Web browser and its version: firefox 96.0
- Operating system and its version: Arch linux, sway (wayland)
- PDF.js version: Whatever came with the browser
- Is a browser extension: no

Steps to reproduce the problem:
1. Open any pdf, can reproduce it on https://mozilla.github.io/pdf.js/web/viewer.html
2. Scroll in with ctrl+mouse wheel using a normal mouse, not a touch pad.

Expected behaviour:
It zooms in with small steps. It can for example be the same steps as ctrl+plus.

Behaviour:
It scrolls in and out way to quickly. It jumps in the steps: 10%, 70%, 150%, 300%, 570%, 1000%.

Notes:
Cannot reproduce on chromium with the web viewer on https://mozilla.github.io/pdf.js/web/viewer.html
storedPromise,
        pageLayoutPromise,
        pageModePromise,
        openActionPromise,
      ])
        .then(async ([timeStamp, stored, pageLayout, pageMode, openAction]) => {
          const viewOnLoad = AppOptions.get("viewOnLoad");
          this._initializePdfHistory({
            fingerprint: pdfDocument.fingerprints[0],
            viewOnLoad,
            initialDest: openAction?.dest,
          });
          const initialBookmark = this.initialBookmark;
          
          const zoom = AppOptions.get("defaultZoomValue");
          let hash = zoom ? `zoom=${zoom}` : null;
          let rotation = null;
          let sidebarView = AppOptions.get("sidebarViewOnLoad");
          let scrollMode = AppOptions.get("scrollModeOnLoad");
          let spreadMode = AppOptions.get("spreadModeOnLoad");
          if (stored.page && viewOnLoad !== ViewOnLoad.INITIAL) {
            hash =
              `page=${stored.page}&zoom=${zoom || stored.zoom},` +
              `${stored.scrollLeft},${stored.scrollTop}`;
            rotation = parseInt(stored.rotation, 10);
            
            if (sidebarView === SidebarView.UNKNOWN) {
              sidebarView = stored.sidebarView | 0;
            }
            if (scrollMode === ScrollMode.UNKNOWN) {