ShiftPWM Code error (use 74HC595)

Im using 3 shift registers for my project.(8 RGB LEDs)
Just try blow code,But its only work in one time.Not continuously. Can anyone help me to fix it?

const int ShiftPWM_latchPin=8;
const bool ShiftPWM_invertOutputs = true; 
const bool ShiftPWM_balanceLoad = false;
#include <ShiftPWM.h> 
unsigned char maxBrightness = 255;
unsigned char pwmFrequency = 75;
int numRegisters = 3;
int numRGBleds = numRegisters*8/3;



void setup(){
  Serial.begin(9600);
  ShiftPWM.SetAmountOfRegisters(numRegisters);
  ShiftPWM.SetPinGrouping(1); 
  ShiftPWM.Start(pwmFrequency,maxBrightness);
}
void loop() 
{
Chase(100);

}
void Chase( int wait) 
{
  for (int j=0; j<10; j++) 
    for (int q=0; q < 3; q++) 
    {
      for (int i=0; i < 8; i=(i+3)) 
      {
        ShiftPWM.SetHSV(i+q, 200,255,100); 
       
      }
      delay(wait);  

      for (int i=0; i < 8; i=(i+3)) 
      {
        ShiftPWM.SetHSV(i+q, 0,0,0);        //turn every third pixel off
      }
    }
  }

That code should run continuously. Are you certain you are running that exact code?

PaulRB:
That code should run continuously. Are you certain you are running that exact code?

Thanks PaulRB for reply.
yes same code and it works.But not like a continuous pattern.attach a Gif how it works.

led.gif

I don't understand why it looks like your gif. Can you post video on YouTube? Also post a close up pic of your circuit and a schematic (hand drawn is ok).

Have you got decoupling capacitors on each of your shift register chips?

Also that code looks wrong in that your value for q will cause later loops to address the same pixels which is not what you want.

Also at the end of the pattern code remove all lit pixels and quickly start again.