Hi Zbigniew,
My understanding is that the slowdown in the scenario you describe likely comes from the page loading phase rather than from actual printing. For genetic / large scale PDF printing in production, we would recommend using Puppeteer or other browser automation tools to drive chrome headless loading and printing the page, rather than relying on --print-to-pdf built-in command -- this would give you much better flexibility in how to load the page, or when and how to apply the timeouts, and would even let intercepting and cancelling network request. In case you only care for local/inline page content, you would be able to speed up loading by just using network emulation to simulate the browser being offline.
The built-in --print-to-pdf implementation is fairly simple and will wait either for the page 'load' event to be dispatched (which may indeed be deferred by pending subresource requests) or for the number of seconds specified in --timeout (which probably isn't best when it comes to printing arbitrary pages). You can check whether the time before the load event is the issue by opening the page interactively and using DevTools Network or Performance panels (the "load" event will be shown by the red line marker).
As for --virtual-time, it's not quite what you expect it to be -- it enables the virtual time mode, which essentially "squashes" all timers set by setTimeout()/setInterval() in the page to fire immediately. It may help in case page JS is slow because of setTimeout(), but if you're bound by CPU or network when loading the page, it won't have much effect. It also is highly experimental and won't quite work in --headless=new if out-of-process iframes are involved.
Your attachment did not come through unfortunately. Could you please file a bug and attach the page in question there?