"C´est vrai en partant du principe qu´il que l´image est dans la memoire de la carte"
ok sur ce point ; si on se debrouille pour garder une copie "locale" maison dans son propre format de l´image a l´ecran, ca revient a un bete traitement ; en DX ca pourrait se resumer a un CopyRect, un Lock/Unlock et un filtre, mais ca reste quand meme tres loin de la souplesse et de l´efficacite d´un shader. Mais je doute que la SDL permette bcp de controle de ce point de vue :-? Avis aux experts.
La vectorisation est interessante pour le "processing" des donnees en lui meme, mais rappelons juste qu´au mieux, en SSE, tu traites 4 FLOATS a la fois > bcp de conversions a blancs pour rien ; autant faire du pseudo-fixedpoint maison et bosser sur des _int32, encore faut-il que les donnees soient alignees..
Sinon, pour la vectorisation, meme si certains compilos font de l´excellent boulot (merci ICC ;) ), plus on facilite la tache de ce dernier, plus c´est efficace : il y A des methodes pour favoriser la vectorisation et l´autovectorisation. Par exemple des arrangements de donnees alternatifs sont bcp utilises ; ex typique, au lieu de traiter des vector3 x/y/z avec du padding, on va traiter des tableaux de x, de y et z, cet arrangement permet de rendre trivial des operations paralleles, meme si c´est moins "immediat". Et bcp d´autres choses comme ca ; de meme il y a des astuces pour les autres technos, comme l´HT (decouplage et independance de plusieurs traitements imbriques), le netburst (operations bit a bit un poil differentes), etc.
C´est bcp s´embeter pour pas grand chose en general, mais il reste des moyens de "favoriser" ces choses dans certains cas ; cela dit si on un pb vraiment specifique, on preferera ecrire soi meme le code vectorise/parallelise grand coup de SSE inline et autres joyeusetes (ca marche d´ailleurs tres bien pour tout ce qui est convolutions, calculs matriciels, etc.)