What factors limit LED refresh rate?

I am trying to build a POV display with RGB LEDs (they spin and light up at certain points around the radius). In order to have discrete points of light, I need to be able to turn them on and off really fast.

I have these guys (PL9823) which have a chip inside and pass the data down a line. I'm afraid they will be too slow.

Am I limited by the clock speed of the Arduino or the data rate of the LEDs? Would I be better off with a different chipset or even just normal 4 pin RGB LEDs?

You're limited by the speed of the protocol used to communicate with the LEDs. It's around 800 Kbit/sec iirc.

Ones with data and clock lines (ie, APA102 et al) instead of just the timing-based data line (like 281x and those ones you have, which look like probably the 2812 clones) can usually be driven at least somewhat faster; consult the datasheet for details.

You're limited by the speed of the protocol used to communicate with the LEDs.

But also and much more seriously the frequency of the PWM modulation of the light output. This is way lower than any data refresh time.

Good point; The pwm frequency is conspicuously absent from the PL9823 datasheet.... (my god, that's a lousy datasheet, if you can even call it that!)

APA102's are also nicer in that regard, with their 19.2 khz pwm.

Actually, yeah, for a PoV application, you're not gonna get any joy with WS2812-like refresh rates, as the PWM will be slow enough that you'll see dashed lines instead of dimmed light.