Punkoff

I've used a shader in my game and got a problem
here's shader code:



float4x4 WorldViewProj : WORLDVIEWPROJECTION;
float4x4 WorldMatrix : WORLD;
float4 DiffuseDirection;

Texture meshTexture;
sampler TextureSampler = sampler_state { texture = <meshTexture>; mipfilter = LINEAR; };

struct VS_OUTPUT
{
float4 Pos : POSITION;
float2 TexCoord : TEXCOORD0;
float3 Light : TEXCOORD1;
float3 Normal : TEXCOORD2;
};

// Transform our coordinates into world space
VS_OUTPUT Transform(
float4 inputPosition : POSITION,
float3 inputNormal : NORMAL,
float2 inputTexCoord : TEXCOORD0
)
{
//Declare our output structure
VS_OUTPUT Out = (VS_OUTPUT)0;
// Transform our position
Out.Pos = mul(inputPosition, mul(WorldMatrix,WorldViewProj));
// Store our texture coordinates
Out.TexCoord = inputTexCoord;
// Store our light direction
Out.Light = DiffuseDirection;
// Transform the normals into the world matrix and normalize them
Out.Normal = normalize(mul(inputNormal, WorldMatrix));

return Out;
}

float4 TextureColor(
float2 textureCoords : TEXCOORD0,
float3 lightDirection : TEXCOORD1,
float3 normal : TEXCOORD2) : COLOR0
{
// Get the texture color
float4 textureColor = tex2D(TextureSampler, textureCoords);
// Make our diffuse color purple for now
float4 diffuseColor = {1.0f, 1.0f, 0.7f, 1.0f};

// Return the combined color after calculating the effect of
// the diffuse directional light
return textureColor*0.5+textureColor * (diffuseColor * saturate(dot(lightDirection, normal)))/2;
};

technique TransformTexture
{
pass P0
{
// shaders
VertexShader = compile vs_1_1 Transform();
PixelShader = compile ps_1_1 TextureColor();
}
}

It's from T. Miller's well-known book
When running game, it runs for approx. 0,5 sec, sleeps for 0,5 sec, runs for 0,5 sec, stops for 0,5 sec ...
What can i do Help please!