Hasta donde he leido es lo mas rapido usar fblend..
de hecho en la comunidad de allegro sino estoy mal la promocionan como tal y hay varios proyectos usandola.
Encuentao el otro comentario creo que tienes un error..
el alpha blending puede venir implementado de tres formas:
1- Por hardware
2- Por software
3- Por software emulando el hardware.
1- Es logicamente por la tarjeta(desde que esta lo soporte ya que muchas no soportan esa operacion), y es muy rapida, depende mucho de la tarjeta y en cierta medida depende tambien del software que llame las primitivas de la tarjeta.
2- Hace lo mismo que hace el programa embebido en la tarjeta, segun la calidad de el codigo puede ser mas o menos rapidos entre si.
3- Usa alguinas primitivas de la tarjeta pero la parte gruesa del efecto es programada.
El hecho de usar ensamblador no garantiza que sea lo mas rapido, de hecho si usas lenguaje c pero tu algoritmo de alguna manera fue mucho mas 'optimo' que el que usaron para hacer el programa en assembler.. pues sera mas rapido el que se hizo en c.
En cuanto directx... ya ninguno usa assembler desde que salio la piemra version de directx para windows de 32 bits, todos seguramente usan solo la api de windows y ocacionalmente HLA (High level assembler) y ahora con el surgimiento del .Nert Framework, la rama del directX managed usa HLSL y los lenguajes de maquina ''intermedios derivados de .net.