I've been using the 4 bit configuration to connect my LCD, and it has performed as expected.
What could I do if I connect it in 8 bit configuration that I can't do now? What would the other 4 pins get me?
Assuming you are using the shipped LiquidCrystal library,
not much other than 4 less digital pins to use.
Given that the Arduino digitalWrite() routines are so slow and the shipping LiquidCrystal
library has much longer delays in certain places than are necessary, there will only be a very small amount
The gain will be mainly due to the library unnecessarily delaying between nibbles that will no longer be done.
Much bigger gains can be achieved by eliminating the unnecessary delays than by going to 8 bit mode
with the existing LiquidCrystal library.
Going to raw port i/o vs using the Arduino core code digitalWrite() functions can help speed things
up even more. (Raw port i/o is about 75x faster than digitalWrite() )
If you want to play around with an optimized library switch to this LiquidCrystal replacement library:https://bitbucket.org/fmalpartida/new-liquidcrystal/overview
This library supports multiple interfaces and also supports backlight control)
In 4 bit mode and not using raw port i/o, it is close to 3.5x faster than the Arduino supplied LiquidCrystal library.
Run the included LCDiSpeed sketch to see the speed of the interface.
(It works on the original as well as the replacement library)
You will have to slightly modify the sketch to select your interface (LCDIF_4BIT in your case)
and then fix the 4BIT lcd constructor to match the pins you are using.
It is a great sketch to demonstrate the speed of the interface and very useful for comparing
the speed of different interfaces.
It will display the speed information on the LCD display.