I'm just wondering if i'm declaring my LEDs right....

I’m just wondering if i’m declaring my LEDs right…

I have three pairs of different length WS2812b LED strips (2x76, 2x86, 2x91)
504 LEDs in total

They are wired to portD of a Teensy 3.2 microcontroller through an OCTOWS2811 Controller. I have got them mapped to an XY matrix which is working but only producing at most 11-12fps

I have declared my LEDs as follows;

This is the only way I have managed to get the LEDs stable enough to work with, but its only running at less than 15fps.

I have also tried to declare 6 of these;
FastLED.addLeds< WS2813_PORTD, 6 > ( leds_real, 0, 91 )

Is there any way of me being able to declare the LEDs without declaring the strips to be the same length?

i.e - NUM_LEDS = NUM_STRIPS * NUM_LEDS_PER_STRIP

Could it be the for loops are slowing the looping speed that its reducing the fps to such a low level? I am using a virtual array of (71x21) and then copying that array to the CRGB array that contains the LEDs.
Surely this is more than the Teensy 3.2 can handle…

Please could someone point me in the right direction?

On other builds i have used in excess of 1000 LEDs with over 60fps without a problem, without however mapping to an awkward XY grid as I am doing here.

Here is a quick video of a test program: https://youtu.be/E5uf7tjy0NI

Here is the test program. It looks good but it achieves only 11fps.

If you need any more details about the project please see this other post LED_Declaration · GitHub