Blog Post

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.

multithreaded-rendering

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

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.

Explore related topics

Related products
Share post
Free trial Ready to get started?
Free trial