在使用Aforge的WPF应用程序中,CPU占用整个CPU功耗的60%到70%

时间:2017-06-16 07:42:30

标签: c# .net wpf aforge

我在我的双核2.0 GHz笔记本电脑上运行Aforge.net提供的相机测试样本,内存为2 GB。现在,当应用程序开始显示来自摄像头的视觉效果时,我看到了大量的CPU使用率。它目前占整个CPU功耗的60%到70%。

任何人都可以告诉我为什么它消耗了那么多CPU,我该如何避免它?我必须建立一个类似的应用程序,需要相机视觉,我将使用C#。

在这种方法中,CPU消耗更多。

public void cam_NewFrame(object sender, NewFrameEventArgs eventArgs)
{

    Bitmap imgforms = (Bitmap)eventArgs.Frame.Clone();

    h = imgforms.Height;
    w = imgforms.Width;
    //video = (Bitmap)eventArgs.Frame.Clone();

    BitmapImage bi = new BitmapImage();
    bi.BeginInit();

    MemoryStream ms = new MemoryStream();
    imgforms.Save(ms, ImageFormat.Bmp);
    ms.Seek(0, SeekOrigin.Begin);

    bi.StreamSource = ms;

    bi.EndInit();
    bi.Freeze();

    Dispatcher.Invoke(new ThreadStart(delegate
    {
        cam_image.Source = bi;//GetBitmapImage(imgforms);
    }));
    //bi = null;

    // BitmapSource bi = Convert(video);
    if(statusText == "Stop Record")
    {
        // AVIwriter.Quality = 0;
        avwriter.AddFrame(imgforms);
    }
}

0 个答案:

没有答案