PSPDFKit 2.2 for Windows
Today we’re shipping PSPDFKit 2.2 for Windows. This release features multithreaded rendering, faster search, general performance improvements, new API, and more!
Multithreaded Rendering
App performance has always been important to both us and our customers, and with this release, our team went to great lengths to further improve our render performance. With PSPDFKit 2.2 for Windows, we are introducing a new system for distributing the overall load of document rendering across multiple CPU cores.
While it was always possible to render pages of a document in the background, our updated renderer will now utilize the available CPU cores of a device much better. This allows for simultaneous rendering of multiple pages or parts of a single page. These changes are especially noticeable when scrolling through pages quickly and when zooming. The new system also further reduces blockage of the UI thread, thereby improving overall UI responsiveness in various parts of the framework.
Faster Search
We have made our search faster by streaming results page by page as they come in instead of computing the full list and only then displaying it. Responsiveness with medium and large documents is therefore improved, as search results will come in almost immediately when a user searches for a term.
Improved Performance
With this release the SDK is built with the latest version of Microsoft’s compiler and we’ve tuned the compiler options to produce the fastest possible code that provides an even better experience for your users.
Scroll Mode
We added methods for getting and setting the current ScrollMode
:
var currentScrollMode = await pdfView.Controller.GetScrollModeAsync(); await pdfView.Controller.SetScrollModeAsync(ScrollMode.PerSpread);
ViewState
You can now set the entire ViewState
properties with a single function call:
await pdfView.Controller.SetViewStateAsync(new ViewState { CurrentPageIndex = 3, LayoutMode = LayoutMode.Double, ZoomMode = ZoomMode.FitToViewPort, ScrollMode = ScrollMode.PerSpread });
Along with the JSON
methods in the ViewState
class you can use the function for restoring the view state properties from a stored state.
Final Notes
This release also includes a number of bug fixes and some minor improvements. For a complete list of changes, see the changelog.