![如何分析某些计算机中运行缓慢的程序,而其他计算机中不运行](https://linux22.com/image/1544921/%E5%A6%82%E4%BD%95%E5%88%86%E6%9E%90%E6%9F%90%E4%BA%9B%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%AD%E8%BF%90%E8%A1%8C%E7%BC%93%E6%85%A2%E7%9A%84%E7%A8%8B%E5%BA%8F%EF%BC%8C%E8%80%8C%E5%85%B6%E4%BB%96%E8%AE%A1%E7%AE%97%E6%9C%BA%E4%B8%AD%E4%B8%8D%E8%BF%90%E8%A1%8C.png)
我生成了一个 exe 文件,使用 py2exe 打包了所有需要的 dll,它在我的笔记本电脑和工作站上完美运行。我在几台电脑上测试了我的程序(与我的笔记本电脑和工作站型号相同,但用户和安装程序不同),有时我的程序上的视频运行缓慢(我使用 vlc 在我的程序内播放视频,即使它们在我的程序上运行缓慢,它们在我的程序外的 vlc 上运行良好)。
两台计算机都有多余的资源,笔记本电脑是 HP 的 Zbook,8 核和 16GB RAM,工作站是 Z840,32 核和 130GB RAM,所以我猜测这与 dll 有关。
我已经使用 Process Explorer 来查看运行时使用了什么 dll,它似乎在不同的计算机上使用不同的 dll,这种行为正常吗?
例如,有问题的机器是唯一使用 detoured.dll、msctf.dll.mui、nvd3d9wrap.dll、nvd3dum.dll 和 nvdxgiwrap.dll 的机器
我真的在黑暗中摸索,所以任何帮助都将不胜感激,要么我应该寻找可能导致这种行为的东西,要么是某个程序来调试 exe,希望我能找到一些东西。
答案1
以下 DLL 似乎没有问题:
- msctf.dll- 属于文本服务框架 (TSF)
- 绕行文件- 属于微软研究技术的一部分,名为 绕行 它会在 Windows 上启动的每个应用程序中建立钩子!
可以通过 regedit 从注册表中删除 Detoured.dll 来禁用它
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
。
名为“nv*”的 DLL 更容易导致视频变慢,因为它们属于 Nvidia。您可以通过 NVIDIA 驱动程序下载页面 通过指定视频卡或通过 GRAPHICS DRIVERS 按钮运行自动检测。