@Matthew-Dewey yes, the signal high time is what needs to be precise to ~100nS. However, while the low time can be much longer than stated in the datasheet, it still must be below about ~10uS (for WS2812 and P9823; WS2813 allows up to 100uS). Otherwise, the chain will reset too early.
Now the problem is that there are interrupts taking more than those 10uS. So to produce flicker-free updates for a WS2812 chain, interrupts need to be disabled during the entire chain update, which means several milliseconds. This works (ws2812_draiveris does this), but it's ugly and completely messes up all other timing that might go on in parallel.
On the Omega2, there's a PWM unit that can help a bit. It's not perfect because it lacks DMA support, but it can generate chunks of ~20 bits of WS28xx payload at a time, entirely in hardware, and can be re-filled via interrupt. See here for an attempt to do it this way