I have no idea what the DHO800's "Waveform Freeze" option does in this mix. Does it somehow override the persistence setting and force it to zero -- but only when entering Stop mode?
Yes.
So, when the scope is waiting for a trigger in RUN mode, and showing the most recently acquired set of persistent traces on the screen -- can you press STOP, and it redraws the screen content from the acquisition buffer, showing just a single trace?
That would be another workaround for the "can't have zero persistence" limitation. But it seems that allowing a "persistence: none" setting would be the cleaner way from a UI perspective. I wonder whether there is some deep division-by-zero type limitation in the rendering engine for the intensity-graded display which does not allow this?
After a good while experimenting with test signals (Audacity to draw repeating waveforms played over the headphone jack), I've made more sense of how the virtual phosphors (persistence) and acquisition buffer(s) interact. After doing this I tried the same on the 1054Z and what do you know, it seems to behave the same way though I didn't test it as extensively as the DHO804. This is what I found:
Normal operation of persistence is to add each sweep to a buffer and slowly fade out the buffer between sweeps. On an analog scope once the signal stops triggering (and it's in normal not auto mode), everything will fade out. But the Rigol will keep drawing the last sweep at full intensity, which is more useful IMO than just fading to black.
The issue I had occurs when when memory depth is set to a lower value (e.g. 10k). In this case it keeps *multiple* sweep buffers saved in memory as it is successively triggered. The displayed sweep is ALL of these drawn on top of each other. So when the signal stops triggering, all these buffers stay at full intensity on screen, not just the most recent buffer. This behavior with smaller buffers acts like a secondary persistence system that keeps recent previous sweeps from fading out.
So the fix for my case is to increase the memory depth to 10M or 25M, which seems to ensure only one buffer is kept in memory at a time and thus only the last sweep persists on screen.
Something different happens when you stop capture with the Run/Stop button. If Waveform Freeze is on, it basically just freezes the screen, persistence and all. If Waveform Freeze is off, it displays only the most recent (single) sweep buffer, without any persistence of anything previous. Contrast this with what happens when the signal stops triggering, where it keeps displaying the multiple sweep buffers in memory.
For a test signal I had pulses of increasing width one after the other. This allowed me to easily see how many were being displayed overlaid at once, by the falling edges appearing in a row across the screen.
I'm enjoying using this scope with the mouse on its own screen (though it locks out the touch screen). I thought I would be hooking this up to a monitor but the screen is quite readable despite the small fonts (and over HDMI mouse movement was very lagged and choppy, which was unbearable to use).