ピクセルシェーダー(HLSL)とDrawPrimitiveについての質問です。
シェーダープログラムを複雑にして描画に時間がかかるようになると
CPU負荷が上がるのですが、これは正常な状態なのでしょうか。

具体的には、トライアングル一つでPixelShaderプログラムが
{c=tex2D(texture, InTexcoord);}
だけの場合、Begin-DrawPrmitive-Endの描画処理はすぐに終わり、
1/60毎のタイマで描画するとCPU負荷は0〜数%です。
ところがシェーダープログラムを{c=tex2d();c=complexCalc(c);}等に変更し
シェーダーに負荷をかけるとCPU負荷が徐々に上がり、さらにloop等で処理量を
をふやすとCPU負荷が100%にまで達します。
シェーダーは完全にGPUによる処理でCPUはIdle状態だと考えていたのですが、
処理によってはCPUを使う場合もあるのでしょうか?
(CompileShaderは"ps_3_0"指定。CPU負荷はタスクマネージャ読み)