I have tested performance of LCD display of leJOS NXJ (platform C) and
it seems that current implementation of spi interface for display update uses software polling to send the data and it causes slower performance. I noticed that leJOS developers already noticed and listed up in the Priority List:

11. Performance improvements. Some things like the way the display is updated mean that leJOS NXJ could be much faster. Its currently a lot slower than RobotC.

Then, I have two questions:
1. If spi interrupt is used instead of software polling, will the performance be dramatically improved?
2. what is your plan on this?

Yes, our plan is to make it interrupt driven. One of our earlier developers who isn't active anymore was going to make this change but never got around to it. If it's something you'd like to tackle we would be very thankful as we want to submit some speed comparisons for NXJ and the LCD slowness is stopping us from doing it currently.

I put the 1 second delay in when I first got leJOS running from flash memory. Without it, my NXT sometimes started up with the LCD not working. Even with it this still occasionally happens. It could be a problem with the specific NXT as I have not noticed it on my other NXT.

I will test this again and remove it if it appears unnecessary now, or move it to main.c.