No delay value smoother

const int ledPin = 13;
const int potPin = 7;
int potInterval = 0;
int potDuration = 0;
int fade = 0;
long preTime = 0;

void setup()
{
  pinMode(ledPin, OUTPUT);
  pinMode(potPin, INPUT);
  Serial.begin(9600);
}

void loop()
{
  unsigned long time = millis();
  potInterval = analogRead(potPin);    

  if(time - preTime > potInterval)
  {
    preTime = time;

    if(fade < 255)
    {
      fade +=5;
      analogWrite(ledPin, fade);
    }

    Serial.println(fade);
  }
}