显示驱动程序在应用程序的第二次运行时崩溃

时间:2012-09-03 19:03:40

标签: c# windows-8 microsoft-metro windows-runtime webcam

基本上,我有一个我正在研究的超级简单的地铁应用程序。目前所做的只是显示网络摄像头视频流。所有相关的当前代码如下(捕获是在XAML中定义的CaptureElement,mediaCapture是MediaCapture类型)。第一次在VS 2012中以调试本地系统模式运行程序时,代码完美运行。然后我通过从顶部拖动来关闭应用程序。但是,下次我运行该程序时,我的显示驱动程序崩溃 - 来自Windows事件查看器:“显示驱动程序igfx停止响应并已成功恢复。”。我不熟悉在C#中进行任何开发,所以我不确定从哪里开始寻找造成这种情况的原因。任何帮助将不胜感激,谢谢。

    private async void init()
    {
        mediaCapture = new MediaCapture();
        MediaCaptureInitializationSettings mc = new MediaCaptureInitializationSettings();
        mc.StreamingCaptureMode = StreamingCaptureMode.Video;
        await mediaCapture.InitializeAsync(mc);
        capture.Source = mediaCapture;
        await mediaCapture.StartPreviewAsync();
    }

注意:从MainPage的构造函数中调用init(),这是当前唯一的页面。

注2:这是我在模拟器中运行时弹出的错误(虽然这个错误来自我的常规桌面环境(抱歉质量很差)。我正在使用我最近升级到Windows的Windows 7机器8 RTM:Display Driver Crash

注3:Windows内置的相机应用程序运行正常。

2 个答案:

答案 0 :(得分:0)

根据我猜的消息,问题在于您的显卡驱动程序,如果您使用默认/包含的,请尝试使用一些更具体的(如您可以在Nvidia或ATI网站获得的那些),如果你'重新使用卡制造商提供的驱动程序,然后尝试默认/通用的驱动程序。一个好的选择可能是在Simulator中而不是在真机上或者(如果可以的话)使用虚拟机来重新编写应用程序。

答案 1 :(得分:0)

所以,事实证明这是我自己的一个愚蠢的错误。希望如果其他人做同样的事情,虽然他们可以找到这个。显然,当我关闭应用程序时,VS 2012继续调试。当我重新打开应用程序(从开始菜单)时,VS仍在调试上次运行。这不知何故导致显示驱动程序崩溃。如果有人想更深入地解释为什么会发生这种情况,我会很高兴。在我确定这导致所有显示驱动程序崩溃后,我会将此标记为正确答案。