Multi-Tab mode in WebViewer version 10 is slow compared to 8.5

WebViewer Version: 10.0.0

Do you have an issue with a specific file(s)? No
Can you reproduce using one of our samples or online demos? Yes
Are you using the WebViewer server? No
Does the issue only happen on certain browsers? No
Is your issue related to a front-end framework? No
Is your issue related to annotations? No

Please give a brief summary of your issue:
Switching between tabs in Multi-Tab mode of version 10 is slow compared to 8.5

Please describe your issue and provide steps to reproduce it:
I tried to update WebViewer 8.5 to version 10.0.0, leaving my API calls untouched.
All calls work fine, but when using Multi-Tab mode, version 10 is really slow when switching between tabs.
There is a noticeable delay between clicking on a tab and the document being displayed in that tab.
Using the API method instance.UI.TabManager.setActiveTab() also became slower.
This is also the case in the showcase on the Apryse website.
In version 8.5, switching between tabs worked with almost no delay.

In the browser developer tools, I also noticed that WebViewer 10 loads lib/core/pdf/lean/PDFNetCWasm.br.wasm while Version 8.5 uses the optimized WASM file lib/core/pdf/lean/optimized/PDFNetCWasm.br.wasm.
I’m NOT using the Full API and I didn’t change my code while comparing WebViewer Version 10 and 8.5.

What is the reason for the slow performance?
As it is now with version 10, users are certainly not enthusiastic…

Please provide a link to a minimal sample where the issue is reproducible:
JS PDF Multi-Tab Support Demo | Apryse WebViewer

Hi Stefan,

I am investigating this issue and will inform you on the results.

Best,
Will

Hi Will,

here’s an addition:
I also tested out other 8.X versions and the problem with the viewer not loading optimized worker files occured with version 8.12 firstly.

And as for the tab switching delay:
I looked at the webviewer-ui code on Github and saw a setTimeout call with 400 ms in the file /src/helpers/TabManager.js on line 123. This seems to be the main problem…

Best,
Stefan