I have a WS2812 string running at 800KHz which I believe corresponds to 60Hz refresh rate. I would like to strobe some pixels at 30Hz. Even frames on, odd frames off. However, my pattern is rendering at ~106 FPS (on a pico at 80Hz … it’s a very simple pattern).
Does the Pixelblaze only render as many frames as can be displayed, so ~106 is the theoretical frame rate based on time left over each frame? If so, I can strobe just by alternating frames.
Or maybe … extra frames are rendered but not sent on the wire, so the parity of the frame number can’t be used to determine the state of the strobe. I guess I could accumulate delta
to determine when 1/60 of a second has passed, but it seems like that could happen on a displayed or not-displayed frame, which would likely give some weird jitter.
In the gaming world, e.g. first person shooters, it’s fine to render faster than your display, because your computer is a space heater and you pulled the trigger at exactly the right moment on a frame that wasn’t displayed and still want to have hit your target. Or, you can turn on ‘sync to vblank’ and only render up to the display’s framerate.