views:

409

answers:

6

is any light weight browser control available for c# application other than builtin web browser control, when i am using IE or Webkit control for embedding it will consumes 80 MB Memory to render a flash website of(800*600 resolution). how can i reduce the memory
EDIT1:
webkit for .net available webkitdotnet.sourceforge.net which is similar to web browser control i am tested it

+3  A: 

There is Mozilla embedding available.

AngryHacker
I doubt Gecko is any lower on resource consumption than WebKit.
musicfreak
@musicfreak. Gecko may not be the fastest engine around, but it does consume a lot less memory than WebKit. http://dotnetperls.com/chrome-memory
AngryHacker
Interesting... All the other benchmarks I've seen point in the opposite direction. To be fair, though, the one you cited tests the browsers as a whole, not the rendering engines. But honestly, I don't think the difference will be that large seeing as the OP said the content is done in Flash.
musicfreak
@musicfreak. Every benchmark I've seen since FF3.5 came out always showed Firefox/Gecko come out on top as far as memory usage because they've put in a lot of work on memory fragmentation issue. Now, speed...that's a whole other story.
AngryHacker
At least you can manipulate a very long list of options to tweak memory consumptionshttp://preferential.mozdev.org/preferences.htmlWhat about this two:browser.cache.memory.capacitybrowser.cache.memory.enable
Cristian
A: 

You could try embedding WebKit into a .net app.

Pierreten
I dont think this sentence is anywhere closer to answer because webkit first of all is available in the form of source code, and there is no documentation available.
Akash Kava
already webkit for .net available http://webkitdotnet.sourceforge.net/ which is similar to web browser control
JKS
Akash, a .net app I've developed for my client uses webkit as the HTML engine; works very well
Pierreten
+1  A: 

Does the website when you open it in IE consume less memory? I doubt that you can improve the memory consumption. It probably is just how much the website needs.

If you simply look for an alternative to the WebBrowser control, you can try the already mentioned techniques but I doubt that you will get better results.

Patrick Klug
+1  A: 

Flash as in Adobe Flash? In that case, it's most likely the Flash content that is taking up most of the memory, which means switching rendering engines will do very little to improve memory usage. You're stuck with what you have.

Honestly though, 80MB isn't much at all. Why are you worried about memory usage? Is it a confirmed bottleneck in your application?

musicfreak
+4  A: 

If you're just trying to embed Flash, This tutorial describes how to do it:

Embedding a flash player control in a.NET winforms application

The key here is to add the "Shockwave Flash Object" COM object to your project. You'll then have a Shockwave Flash Object control in the toolbox which you can drag onto the form. Set the Movie property to the .swf object.

Then you can skip the whole browser.

Keltex
A: 

You could try Awesomium (yes, the name is slightly /facepalm worthy ;)). It's based on Chrome (which uses Webkit) and is free for non-commercial use (commercial licensing is also available) and there is a CodePlex project called AwesomiumDotNet that provides a .NET wrapper for it.

I haven't used it yet myself, but came across it doing some research into embedding a Webkit-based browser into an .NET/WPF app.

alimbada