2010-07-12 58 views
1

我有一个程序,我用它作为alt-tab替换。我使用.NET编写它,因此它具有相当大的内存空间。由于我只是偶尔使用它,所以它往往会被分页。所以当我打电话时,通常需要几秒钟才能显示。这非常烦人。有没有办法阻止它被分页,以便总是立即出现?最大限度地提高程序响应度

我总是可以用更轻量级的语言编写它,但是有没有解决方法?

回答

1

一个肮脏的窍门是在其中放置一个计时器,每隔一段时间触发一次无用的(空)计算,以防止(恢复)分页。

+0

嗯。我想,如果我创建了一些合适的WinForms对象并将其放置在计时器上,它会将适当的页面保留在内存中。但我必须测试一下才能找到合适的。哦,也可以做一个GC来保持内存堆。 – Chris 2010-07-12 16:14:53

+0

只是让定时器处理程序改变主窗体的一些不可见属性,从而迫使它*在内存中。 – Mau 2010-07-12 16:21:49

1

在您的计算机中放置大量内存。任何涉及软件开发的解决方案都不可能比这个更便宜。

+0

:D ............ – Mau 2010-07-12 16:17:59

0

我们没有直接控制在C#中的虚拟机。用一些高级的东西来挂钩VM可能是可能的,例如p /调用你用C++编写的东西(Hans Passant可能会告诉你所有这些)。你也可以为x64编译并在64位系统上运行,并提供足够的内存并禁用虚拟机(我不建议在32位系统上禁用虚拟机,以4GB为限)。