Optimal structuring of polygon lists?

I working on a game and am using Blender for the model creation. I’m exporting the model to an obj file and loading this in game. One thing I’ve noticed is that Blender exports polygons randomly, even if they are physically next to one another. Because of this, I’ve been looking into algorithms to restructure the face list.

Everything I’ve read on this forum indicates that triangle strips are the way to go. However, while doing research on Google, I found quite a bit of documentation that states that using strips can actually cause a 50% performance hit and that cache optimized ordered face lists are the best method.

So, not only am I now confused as to which method I should use, but I haven’t the slightest clue as to how to do the later if that is indeed the best method. I’ve found tons of theory and technical papers on optimizing a face list for caches, but nothing is written in plain and simple terms. What constitutes an optimized face list is so bogged down in technical jargon that I cannot divine what, exactly, it means.

Thus, my question is two fold. Which method is best (not just for GL, but best for the GPU overall), and if cache optimization is the way to go, can someone explain to me what I would need to do to optimize the face list? Basically, what does it entail?

On the subject, this post is the most current and informative I am aware of : http://www.opengl.org/discussion_boards/ubbthreads.php?ubb=showflat&Number=257253#Post257253