Interleaving all in one buffer is always better because it causes sequential access to the memory which is good for caching.
In most cases there might be no difference, or slight difference, but one thing is solid: interleaved arrays will never work slower than separated ones. So always use it this way and have your mind free.
[QUOTE=Yandersen;1261433]Interleaving all in one buffer is always better because it causes sequential access to the memory which is good for caching.
In most cases there might be no difference, or slight difference, but one thing is solid: interleaved arrays will never work slower than separated ones. So always use it this way and have your mind free. :)[/QUOTE]
Non interleaved arrays can potentially save bandwith when rendering geometry with shaders that don’t use the complete set of attributes (classic example is depth rendering).
I’m afraid the answer is not as clear.
Since you have implemented both, my only advice is to keep developing to the point where you need to start worrying about performance and then profile, profile and profile more. It might as well be that in your implementation one way beats the other or, if your bottleneck is somewhere else, you may not even notice a difference during profiling.