WS2812B and Serial, Arduino too slow?

I'm using an Arduino Uno as a kind of wrapper for my WS2812B. It receives brightness values for each LED via SoftwareSerial and outputs them to the LED Strip. With a Strip of 53 LEDs and each getting a new value (1 byte) ~43x per Second it worked fine with a 38400 baudrate on the SoftwareSerial.

Now I enahnced it to a Strip of 107 LEDs and it stopped working. Even when all inputs should be 0, there are still some LEDs randomly lighting up (Problem A) and when I for example make the input so that only the first few LEDs should light up, then they are randomly (and fastly changing) lighting up all over the place (Problem B)

Changing to 57600 baud made Problem A worse, but changing to 115200 baud mostly fixed Problem A, but no luck with Problem B.

I'm not good with runtimes and so on, but is the Uno maybe too slow to receive those values and write them to the LED strip?

What happens is that when you update the LEDs on the strip the interrupts are disabled and if they are disabled for too long you will miss stuff coming in on the serial port.

One solution is to use Dot star type LEDs as they use an SPI interface that does not require the interrupts to be turned off.

Why use SoftwareSerial and not the hardware?

To get around problems with interrupt you could synchronize the updates. I.e. the Arduino sends a request to the PC, then PC then sends the data and finally the Arduino updates the leds. Then start over.

HKJ-lygte: Why use SoftwareSerial and not the hardware?

Think I can guess... It has the initials "BT" I suspect...