I think that this is Perfect example (assembly language) for parallel port access to drive huge number of led.
Concept >
Creat huge matrix in jinx software (50x40).
Record some pattern in it & save as "test.dat"
File's data will be stored as RAW RGB led data
Like FF 00 00 FF 00 00 ...so on
6 values , means 2 led's data both are red (RGB format).
Now comes to the point...
Technically its impossible to store 2000 LEDs data in buffer coz Arduino UNO dont have that much enough RAM.
But what if we use only little bit ram & real time 8 pin parallel output ,dirct from sd card.
Ex , Read 3bytes of every 750th position's data & store in buffer
1 st pin of port = 250 led (data starts from 1st position)
2nd pin of port = 250 led(data starts from 751th position)
.
.
8 th pin of port = 250 led (data starts from 1751th position)
Now instead of NOP command (waste of time) , read next 24 byte of every next position from 750th & direct send it to port.
As per calculation ,is it possible to drive?
Let me update if their is any exception ๐