First, run PV with the default demo settings (1M digital and analog samples). Then, drag the view around with all samples easily fitting on a part of the viewport (zoomed out). It's fast. Then, zoom in so that you can see individual transitions / periods, and drag the view around. It's also fast. Then, zoom out so that the captured waveforms take maybe 5x of (virtual) screen space compared to the viewport. Now, every render takes a few hundred ms.
I could reproduce this only at one very specific zoom level. Zooming in or out one level from this one made it render fast again. For this reason I'm tempted to assume that rendering slows down on the last zoom level before hitting the next mipmap level. We could increase the number of mipmap levels to alleviate this, though this would cost additional memory.
I'm setting this bug to low priority because PV currently has high memory usage, making an increase in needed memory rather prohibitive. Once libsigrok has switched from a continous-sample model to an event-based model, PV's memory usage will drop significantly, allowing the number of mipmap levels to be increased.