最近,我遇到了一些现代Windows 8应用程序的奇怪问题。其中一些(不是全部)出现故障。当我启动这些应用程序时,它们从未启动过,一两秒钟后,我又回到了“开始(Start)”屏幕。我在Event Viewer(Event Viewer)的帮助下做了一些研究。据说这些应用程序因0xc0000005异常代码而崩溃,而我的AMD/ATI video显卡驱动程序安装的(card driver)atidxx64.dll文件是问题的原因。发生了什么事?如何解决这个问题呢?
问题描述 - 更多细节
正如我在介绍中提到的,此问题不会影响所有Windows 8应用程序。只是(Just)一些应用程序。在我的Windows 8设备上,我无法使用AccuWeather for Windows 8或Digital Live Tile Clock等应用程序。所有其他人都工作得很好。
由于没有显示错误消息,我很困惑。发生了什么事?我检查了我的防火墙设置,它们很好。它没有阻止任何Windows 8应用程序。
然后,我打开了值得信赖的Event Viewer。我去了Windows Logs -> Application并查找错误。我很快就找到了他们。
对于每个出现故障的应用程序,都会记录相同的错误和代码。此外,为每个正在启动的应用程序创建了两个错误日志。
第一个错误日志(error log)如下所示。它提到了atidxx64.dll文件作为故障模块(faulting module)。此外,还提到了一个奇怪的0xc0000005异常代码。
第二个错误日志说“由于未处理的异常而终止了进程”("The process was terminated due to an unhandled exception")。
这都是胡言乱语,但我有更多细节可以开始我的搜索。
我发现人们遇到了类似的问题,有人说AMD/ATI驱动程序有问题,需要删除它们。我发现这对于解决方案来说有点极端。如果有任何与Windows 8不兼容的地方,它会很普遍,众所周知,Microsoft 或 AMD(Microsoft or AMD)会对此采取一些措施。我认为问题一定出在视频驱动程序(video driver)的配置方式上。因此(Therefore),我开始尝试每种设置,直到找到使事情崩溃的设置。
根本原因(Root Cause)-形态过滤
在对视频卡(video card)的所有 3D 应用程序设置进行了一段时间的修改后,我发现在禁用某个特定设置后,一切正常。
罪魁祸首是形态过滤(Morphological Filtering)。当它打开时,我提到的Windows 8应用程序崩溃了。当它关闭时,它们可以正常工作。
什么是形态过滤(Morphological Filtering),它有什么作用?AMD在此处有一些关于此图形功能的不错的文档:Morphological Anti-Aliasing。显然,这是一种提高视频游戏图像质量的技术。
我将它作为系统范围的设置启用,因此必须禁用它,以解决我遇到的问题。但是,AMD/ATI驱动程序允许您创建应用程序配置文件。因此,对于我想玩的游戏,我可以单独启用此设置,这样我就不会影响我计算机上安装的Windows 8应用程序的功能。(Windows 8)
但是,足够的谈话。你如何禁用它?打开“AMD Vision Engine 控制中心”("AMD Vision Engine Control Center")。转到"Gaming -> 3D Application Settings"。
在System Settings类别中,将Morphological Filtering设置为Off,然后单击Apply。
问题解决了!🙂
结论
这是一个令人沮丧的问题(frustrating problem)。没有错误消息、难以找到的线索,而且网络上几乎没有可用的信息。我很幸运,我的实验让我找到了这个解决方案。希望这篇文章能帮助其他遇到类似问题的人。
Windows 8 Apps Crash Without Error Messages On AMD/ATI Video Cards
Recently I havе encountered weird problems with some modern Windows 8 apps. A few of them (not all) were mаlfunctioning. When І was launching these apps they never started and, after a second оr two, I was back to the Start screen. I did a bit of research with the help of the Event Viewer. It was saying that those apps crashed with the 0xc0000005 exception code and that the atidxx64.dll file installed by my AMD/ATI video card driver was the cause of the problem. What was going on? How to solve this problem?
Problem Description - More Details
As I mentioned in the introduction, this problem does not impact all Windows 8 apps. Just some apps. On my Windows 8 devices, I could not use apps like AccuWeather for Windows 8 or Digital Live Tile Clock. All others worked just fine.
Since no error messages were shown, I was baffled. What was going on? I checked my firewall settings and they were fine. It was not blocking any Windows 8 apps.
Then, I opened the trusty Event Viewer. I went to Windows Logs -> Application and looked for errors. It did not take me long to find them.
For each app that was malfunctioning, the same errors and codes were logged. Also, two error logs were created for each app being launched.
The first error log is displayed below. It mentioned the atidxx64.dll file as the faulting module. Also, a weird 0xc0000005 exception code was mentioned.
The second error log said that "The process was terminated due to an unhandled exception".
This was all gibberish but I had more details to start my search with.
I found people encountering similar problems and some said that the AMD/ATI drivers are at fault and that they need to be removed. I found this a bit extreme for a solution. If there was any incompatibility with Windows 8, it would have been widespread, well known and Microsoft or AMD would have done something about it. I figured the problem must be in the way the video driver is configured. Therefore, I started experimenting with each setting, until I found the one that made things crash.
The Root Cause - Morphological Filtering
After tinkering for a while with all the 3D application settings of the video card, I found that, after disabling one specific setting, everything worked just fine.
The culprit was Morphological Filtering. When it was turned on, the Windows 8 apps I mentioned crashed. When it was turned off, they worked without any issues.
What is Morphological Filtering and what does it do? AMD has some decent documentation about this graphic feature here: Morphological Anti-Aliasing. Apparently, it is a technology that enhances the quality of the image in video games.
I had it enabled as a system wide setting so disabling it was a must, in order to get rid of the problem I was having. However, the AMD/ATI drivers allow you to create application profiles. Therefore, for the games I wanted to play, I could enable this setting separately, so that I don't impact the functioning of the Windows 8 apps installed on my computer.
But, enough talk. How do you disable it? Open the "AMD Vision Engine Control Center". Go to "Gaming -> 3D Application Settings".
In the System Settings category, set Morphological Filtering to Off and click Apply.
Problem solved! 🙂
Conclusion
This was a frustrating problem to have. No error messages, clues that were hard to find and there was little information available on the web. I was lucky that my experiment led me to this solution. Hopefully this article will help others encountering similar problems.