1,000 LED Control

lets do some math to get some things clear

1000 LEDS with 64 levels => 1000 bytes (OK a bit overkill but stuffing the bits costs time)
you want 60 frames per second * 1000 bytes = 60000 bytes per second to process
Serial works in bits => 60000 *10 = 600.000 bits per second => that will be very difficult for Arduino to handle (read not)

Proposal
make 16 levels of brightness, => 4 bits per LED => 2 LEDS fit into one byte.
1000 * 16 levels => 500 bytes
the framerate back to 15/seconds
15 * 500 = 7500 bytes = 75000 bits per second [baudrate of 230400 could work]

Another option is to define higher level commands e.g. PLANE CIRCLE CUBE SQUARE and let the arduino find the bits to switch
Then the communication would not be the overhead...