2012-10-16 12 views
5

Próbuję utworzyć aplikację opakowującą za pomocą przeglądarki WebView dla gry HTML5, która używa obszaru roboczego do rysowania. W Safari uzyskuję 60 klatek na sekundę, ale w WebView w aplikacji opakowania znacznie spada fps (do 30-45).Rysunek na płótnie HTML5 jest wolniejszy w przeglądarce Cocoa WebView niż Safari.

Czy płótno wolniej w WebView niż Safari czy robię coś nie tak? Jeśli tak, dlaczego i czy można coś z tym zrobić?

Szukałem w Internecie odpowiedzi, ale nie mogę znaleźć żadnej wzmianki o różnicy prędkości.

Dziękujemy!

+1

Nie mówię o systemie iOS, ale OSX. –

+1

Prawdopodobnie płótno jest przyspieszane sprzętowo w Safari, ale nie w WebView ('potrzebne cytowanie') –

Odpowiedz

1

Niestety, nie znalazłem odpowiedzi na moje pytanie, ale rozwiązałem mój problem. Omijałem powolność rysowania płótna w programie WebViews, nie używając WebView.

Zbudowałem raczej wrapper do mojej gry przy użyciu framework JavaScriptCore i przekierowałem wywołania canvas do funkcji OpenGL. Przekierowywał także połączenia audio do OpenAL, a myszą z widoku do JavaScript.

Kod gry nie zmienił się nieco, a silnik (mały, niestandardowy) uzyskał kilka funkcji nadpisań.

+0

bardzo interesujące rozwiązanie. Czy to działa bez modyfikowania kodu HTML/js? Czy to zamiennik? Jeśli tak, to czy możesz otworzyć źródło, aby inni mogli się nim cieszyć? – Wesley

Powiązane problemy