Maybe you can save some time if you don't bind a vertex buffer and use SV_VERTEXID (which is created automatically by the IA stage) to build your quad in the vertex shader, something like:
struct VSOUT{
float4 pos:SV_POSITION;
float2 tex:TEXCOORD0;
};
VSOUT main(uint vI: SV_VERTEXID)
{
VSOUT Out = VSOUT(0);
Out.tex=float2(vI%2,vI%4/2);
Out.pos=float4((Out.tex.x-0.5f)*2,-(Out.tex.y-0.5f)*2,0,1);
return Out;
}
The vertex shader will output a full screen quad this way if you call a draw for 4 vertices with a TRIANGLESTRIP topology;
Probably you can also save some time if you try out different rendertarget formats and resoulutions.
If you can have depth or stencil testing it can also save you some time in some scenarios.