I'm not sure if you've found an answer yet or not, but I think I can help you out.
The three options I'm aware of are DrawPixels, GLSL, and 2D Texture.
GLSL is the only one that takes full advantage of the graphics card; which for most of us makes it the best possible option. If you are using the GPU for any other portion of your rendering, then I strongly suggest this one as there's a palpable difference in speed.
For cases when GLSL isn't available or, for one reason or another, is disadvantageous, 2D Textures and DrawPixels both run on the CPU. The core difference is hidden in the name, if you're an OpenGL buff—glDrawPixels creates the texture in RAM and copies it to the frame buffer; whereas 2D Texture implies that the data is ultimately stored on-board the graphics card as an OpenGL texture, making it ready-to-go during rendering.
The documentation is pretty scarce (and unusually sparse-in-detail for the Blender team) as of my writing this, and I could be wrong, so someone please correct me if I am. But in summary, if you're trying to run everything through your GTX 1080, you want to go for GLSL. If your textures/image-size is too big for your graphics memory (which, in some instances, can still happen,) and you have plenty of time, then go for DrawPixel. Texture 2D is a happy medium.