Test serial Processing Arduino UNO working but not in arduino MEGA

The test code from github processing working with Arduino UNO, but not in MEGA

/**

  • Simple Write.
  • Check if the mouse is over a rectangle and writes the status to the serial port.
  • This example works with the Wiring / Arduino program that follows below.
    */

import processing.serial.*;

Serial myPort; // Create object from Serial class
int val; // Data received from the serial port

void setup()
{
size(200, 200);
// I know that the first port in the serial list on my mac
// is always my FTDI adaptor, so I open Serial.list()[0].
// On Windows machines, this generally opens COM1.
// Open whatever port is the one you’re using.
String portName = Serial.list()[0];
myPort = new Serial(this, portName, 9600);
}

void draw() {
background(255);
if (mouseOverRect() == true) { // If mouse is over square,
fill(204); // change color and
myPort.write(‘H’); // send an H to indicate mouse is over square
}
else { // If mouse is not over square,
fill(0); // change color and
myPort.write(‘L’); // send an L otherwise
}
rect(50, 50, 100, 100); // Draw a square
}

boolean mouseOverRect() { // Test if mouse is over square
return ((mouseX >= 50) && (mouseX <= 150) && (mouseY >= 50) && (mouseY <= 150));
}

/*
// Wiring/Arduino code:
// Read data from the serial and turn ON or OFF a light depending on the value

char val; // Data received from the serial port
int ledPin = 13; //

void setup() {
pinMode(ledPin, OUTPUT); // Set pin as OUTPUT
Serial.begin(9600); // Start serial communication at 9600 bps
}

void loop() {
while (Serial.available()) { // If data is available to read,
val = Serial.read(); // read it and store it in val
}
if (val == ‘H’) { // If H was received
digitalWrite(ledPin, HIGH); // turn the LED on
} else {
digitalWrite(ledPin, LOW); // Otherwise turn it OFF
}
delay(100); // Wait 100 milliseconds for next reading
}

*/

if un processig add delay(1000); the comunication es very slow but work.

???

void draw() {
delay(1000); ///////////// YES THIS WORK /////////////////
background(255);
if (mouseOverRect() == true) { // If mouse is over square,
fill(204); // change color and
myPort.write(‘H’); // send an H to indicate mouse is over square
}
else { // If mouse is not over square,
fill(0); // change color and
myPort.write(‘L’); // send an L otherwise
}
rect(50, 50, 100, 100); // Draw a square
}

(Arduino UNO and Mega is original), PC is Linux-UBUNTU
I don’t understand

I solved it.

void setup()
{
size(200, 200);

String portName = Serial.list()[0];
myPort = new Serial(this, portName, 9600);
delay(1500); //// WITH THIS WORK
}

void draw() {
background(255);
if (mouseOverRect() == true) { // If mouse is over square,
fill(204); // change color and
myPort.write('H'); // send an H to indicate mouse is over square
}

delay in the setup, is not problem. (Delay in draw is a big problem)