2010-07-12 38 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爲限)。

相關問題