2010-04-22 21 views
5

to dowolne sterowanie przeglądarką o niewielkiej wadze dostępne dla aplikacji C# innej niż wbudowana kontrola przeglądarki internetowej, kiedy używam kontrolki IE lub Webkit do osadzania, zużywa 80 MB pamięci, aby renderować stronę flash (Rozdzielczość 800 * 600). Jak mogę zmniejszyć ilość pamięci
Edit1:
WebKit NET dostępnych webkitdotnet.sourceforge.net który jest podobny do kontroli przeglądarki internetowej jestem przetestowany tolekka kontrola przeglądarki dla aplikacji C#

Odpowiedz

5

Jeśli jesteś po prostu stara się osadzić Flash, Ten poradnik opisuje jak to zrobić:

Embedding a flash player control in a.NET winforms application

Kluczem tutaj jest dodanie "Shockwave Flash Object" obiekt COM do Twój projekt. Następnie będziesz mieć kontrolę obiektu Flash Shockwave w przyborniku, którą możesz przeciągnąć na formularz. Ustaw właściwość Movie na obiekt .swf.

Następnie można pominąć całą przeglądarkę.

3

Jest Mozilla embedding dostępny.

+0

Wątpię, czy Gecko ma mniejsze zużycie zasobów niż WebKit. –

+0

@musicfreak. Gecko może nie być najszybszym silnikiem, ale zużywa o wiele mniej pamięci niż WebKit. http://dotnetperls.com/chrome-memory – AngryHacker

+0

Interesujące ... Wszystkie pozostałe benchmarki, które widziałem, wskazują na przeciwny kierunek. Aby być uczciwym, ten, który cytujesz, testuje przeglądarki jako całość, a nie silniki renderujące. Ale szczerze mówiąc, nie sądzę, że różnica będzie taka, że ​​duże widzenie jako OP mówi, że treść jest wykonywana we Flashu. –

0

Możesz spróbować osadzić WebKit w aplikacji .net.

+0

nie sądzę, to zdanie jest nigdzie bliżej odpowiedzieć ponieważ WebKit przede wszystkim jest dostępny w postaci kodu źródłowego, a nie ma dostępnej dokumentacji. –

+0

już webkit dla .net dostępny http://webkitdotnet.sourceforge.net/ który jest podobny do kontroli przeglądarki internetowej –

+0

Akash, aplikacja .net, którą opracowałem dla mojego klienta używa webkita jako silnika HTML; działa bardzo dobrze – Pierreten

1

Czy strona internetowa po otwarciu jej w IE zużywa mniej pamięci? Wątpię, czy możesz poprawić zużycie pamięci. Prawdopodobnie jest to, ile potrzebuje strona internetowa.

Jeśli po prostu szukasz alternatywy dla formantu WebBrowser, możesz wypróbować już wspomniane techniki, ale wątpię, że uzyskasz lepsze wyniki.

1

Flash jak w Adobe Flash? W takim przypadku najprawdopodobniej zawartość Flash zajmuje większą część pamięci, co oznacza, że ​​przełączanie silników renderujących niewiele da, aby zwiększyć wykorzystanie pamięci. Utknąłeś z tym, co masz.

Szczerze mówiąc, 80 MB to niewiele. Dlaczego martwisz się o użycie pamięci? Czy jest to potwierdzone wąskie gardło w Twojej aplikacji?

0

Możesz spróbować Awesomium (tak, nazwa jest lekko/facepalm warty;)). Jest oparty na Chrome (który używa Webkit) i jest darmowy do użytku niekomercyjnego (dostępne są również licencje komercyjne) i istnieje projekt CodePlex o nazwie AwesomiumDotNet, który zapewnia dla niego opakowanie .NET.

Nie wykorzystałem go jeszcze sam, ale natknąłem się na to, wykonując badania nad osadzeniem przeglądarki opartej na Webkit w aplikacji .NET/WPF.