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.
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.