有没有办法强制 Windows 将某些 EXE/DLL 二进制文件预加载到其预取/超级取缓存中,就像它们已被执行一样?我有一个特定的应用程序,它在第一次运行时加载速度非常慢,但如果它是“热的”(最近执行过),它启动速度非常快。我想在需要应用程序之前在后台尽早准备好缓存。但由于它显示了一个 UI,我正在寻找一种默默地执行此操作的方法。因此,简单地启动应用程序并不理想。
提前谢谢你。
在评论中 David 的建议的启发下,我编写了一个 PowerShell 脚本来对文件进行内存映射、查找到末尾并关闭它们。我还没有进行任何受控测试,这可能只是我的想象,但 Sublime Text(有问题的应用程序)这次似乎加载速度快得多,而且我已经好几个小时没用它了。
答案1
检查程序的文档(或者只是尝试一下;例如,从命令提示符)。查看是否可以在命令行中输入任何内容,使其立即退出。如果它在此模式下也显示 GUI,请从将“运行”控件设置为“最小化”的快捷方式运行它:
另一种方法是编写一个批处理文件,以最小化的方式启动您的程序(使用START /MIN
),等待几秒钟,然后终止它。