Problème multithreading Directx
Bonsoir tout le monde,
Alors j'ai un gros problème et je suis débutant donc j'ai du mal à le résoudre tout seul. Je suis entrain de créer une application où on peut voir plusieurs vidéos en même temps (jouant en parallèle).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
for(x=0;x<nbVideos;x++)
{
v[x] = new Video("videos/video.avi", false);
v[x].Owner = panel[x];
v[x].Ending += new EventHandler(v_Ending);
t[x] = new Thread(new ParameterizedThreadStart(play));
t[x].Start((Object)v[x]);
}
void play(Object v)
{
((Video)v).Play();
}
private void v_Ending(Object v, System.EventArgs e)
{
try
{
((Video)v).Stop();
((Video)v).Play();
}
catch { }
} |
Pour cela j'utilise le multithreading comme vous pouvez le voir mais quand j'ai comparé les ressources avec et sans multithreading, il n'y a pas de différences. Savez vous pourquoi ? Si oui, une solution ? :cry:
PS: je précise que je travaille sur Visual C# express 2008 et que j'utilise le module AudioVideoPlayback de Directx (j'ai Directx 11).