2010-04-22 99 views
5

是任何輕量級瀏覽器控件,除了內置web瀏覽器控件之外,還可用於c#應用程序,當我使用IE或Webkit控件嵌入時,它將消耗80 MB內存來呈現Flash網站( 800 * 600分辨率)。我如何能減少內存
EDIT1:
的WebKit爲.NET提供webkitdotnet.sourceforge.net它類似於Web瀏覽器控件我正在測試它c#應用程序的輕量級瀏覽器控件

回答

5

如果你只是想嵌入Flash,本教程介紹如何做到這一點:

Embedding a flash player control in a.NET winforms application

這裏的關鍵是要在「衝擊波Flash對象」 COM對象添加到你的項目。然後,您將在工具箱中擁有一個Shockwave Flash Object控件,您可以將它拖到窗體上。將Movie屬性設置爲.swf對象。

然後你可以跳過整個瀏覽器。

3

Mozilla embedding可用。

+0

我懷疑Gecko的資源消耗低於WebKit。 – 2010-04-30 02:28:28

+0

@musicfreak。 Gecko可能不是最快的引擎,但它比WebKit消耗的內存少得多。 http://dotnetperls.com/chrome-memory – AngryHacker 2010-04-30 03:17:05

+0

有趣的...我見過的所有其他基準指向相反的方向。但是,公平地說,你引用的是測試瀏覽器的整體,而不是渲染引擎。但說實話,我認爲不同的是OP會說這些內容是在Flash中完成的。 – 2010-04-30 04:47:21

0

您可以嘗試將WebKit嵌入到.net應用程序中。

+0

我不認爲這個句子更接近於回答,因爲webkit首先以源代碼的形式提供,並且沒有可用的文檔。 – 2010-04-28 06:08:41

+0

已經有webkit for .net可用http://webkitdotnet.sourceforge.net/類似於網頁瀏覽器控件 – 2010-04-28 06:10:42

+0

我爲我的客戶端開發的一個.net應用程序Akash使用webkit作爲HTML引擎;工作得很好 – Pierreten 2010-04-28 15:28:32

1

當您在IE中打開它時,網站會消耗更少的內存嗎?我懷疑你可以改善內存消耗。這可能只是網站需要多少。

如果您只是尋找WebBrowser控件的替代方法,您可以嘗試已經提到的技術,但我懷疑您會得到更好的結果。

1

像Adobe Flash一樣閃存?在這種情況下,最有可能的是Flash內容佔用了大部分內存,這意味着切換渲染引擎對於提高內存使用率的作用會很小。你堅持你擁有的東西。

老實說,80MB並不多。你爲什麼擔心內存使用?這是您申請中確認的瓶頸嗎?

0

你可以試試Awesomium(是的,這個名字是//facepalm值得的);)。它基於Chrome(使用Webkit)並且可以免費用於非商業用途(商業許可也可用),並且有一個名爲AwesomiumDotNet的CodePlex項目,該項目爲它提供了一個.NET包裝器。

我自己還沒有使用過它,但發現它做了一些研究,將基於Webkit的瀏覽器嵌入到.NET/WPF應用程序中。