2010-04-22 98 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应用程序中。