ARDUINO + PROCESSING AYUDA D:

Hola que tal , soy nuevo en el foro y tengo una duda D:
Cuando hago una comunicacion serial arduino ---> processing , mando datos a processing pero si pongo un delay < 20 processing , processing va mas lento , les dejo el codigo :
CODIGO ARDUINO:
#include <Servo.h>

Servo uno;

int i ;

void setup () {
Serial.begin(9600);
uno.attach(9);
pinMode(led,OUTPUT);
}
void loop() {
for ( i = 0 ; i < 180 ; i+=1){
Serial.write(i);
uno.write(i);
delay(10);

}

for (i = 180 ; i >= 1 ; i-=1){
Serial.write(i);
uno.write(i);
delay(10);}

}

/////////////////////////////////////////////////////////////
CODIGO PROCESSING

import processing.serial.*;
Serial port;
int val ;
void setup() {
size(500,500);
smooth();
println(Serial.list());
String puerto = Serial.list()[1];
port = new Serial(this,puerto,9600);

}

void draw(){
background(255);
while(port.available() == 0 );
val = port.read() ;
fill(val,val,val);
ellipse(250,250,val,val);
println(val);
}

POR FAVOR AYUDENME U.U =(

Hola,

Supongo tienes un cuello de botella y recibes mas datos de los que estas procesando.

Puedes hacer un port.clear() luego de que leas para borrar los demas datos para evitar que ese buffer crezca indefinidamente.

Prueba y nos cuentas.

Saludos.