-
Notifications
You must be signed in to change notification settings - Fork 84
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Very slow webviews on El Capitan #65
Comments
@OleksandrRakovets please see my bug report here: https://bugs.webkit.org/show_bug.cgi?id=149761 It's a WebKit issue, not a MacGap issue. We have a mostly rewritten MacGap under development at @rememberthemilk that solves these issues. I hope we can clean it up and put it up on GitHub soon. |
@omarkilani, that sounds great. Please let us know here when you release it. |
@rsaccon I will. I wouldn't hold my breath on Apple fixing WebView however. So if someone wants this to work in the meantime, you need to port your code to WKWebView. Unfortunately that means all the JS/Obj-C bridging needs to be rewritten, Notification Center integration needs rewriting, mouse wheel/touch pad events need forwarding, etc, etc. Or, never use GPU rendering. Kind of a huge PITA just to put a frame around a web app. :) |
@omarkilani Sounds intriguing. Is your MacGap rewrite primarily to move to WKWebView? Would it be appropriate to think of this as a potential MacGap 3? |
I want to add a +1 to seeing this rewrite added to the repo, even if it has to be as an optional branch! |
@jeff-h it uses WebView on 10.9 and WKWebView on 10.10+. I don't know if I'd call it a rewrite, more of a 'hack it until it works for us'. :) We're still solving problems (WKWebView public APIs are fairly limited, so doing simple things like setting user agent is a PITA). Last issue was exposing geolocation APIs, currently we're figuring out why zoom (Cmd-+/-) doesn't work in WKWebView. Also needs a JS shim between the actual web app/site and ObjC/MacGap. I have no idea how long it would take to get it non task specific... We kind of started with a simple task (put web app into Mac wrapper for Notification Center) and ended up putting 6 months of work into making it do simple things. :( |
Hey @omarkilani . Any good news for us? it seems like a very common problem. |
@idoza no good news I'm afraid. We gave up on WKWebView and are redeveloping with Electron. We were at a point where we started including private headers to access functionality like WebSQL and decided it was time to move on because you can't get that into MAS. |
@omarkilani Since you gave up WKWebView and are redeveloping with Electron, how is it going to far? Thank you. |
@bsidepcote Great! Should have done this sooner, but hindsight, etc. :) The fact is that the original issue in WebView is still there, and no acknowledgement that the bug exists has been given in 6+ months -- highly unlikely it'll ever be fixed considering the focus has shifted to the multi-process WebKit. So then you need to look at WKWebView, which is lacking basic functionality like zoom, print, offline storage, etc without needing to include private headers. If you include private headers you can't get into MAS. With Electron, you can program your thing in JS instead of ObjC, get into the MAS, and support both Windows and Linux builds of the exact same thing with the addition of 2 command line args. We're still needing to extend the basic system to do things like notifications on Win7/8 (it only supports Win10 notifications natively), but we had to do those things with WKWebView anyway. Things that work out of the box on Electron:
There are many more, but those are the things we use. The only downside is that the .zip or whatever for the app is much larger due to shipping your own browser, but that's a small price to pay. I'll also mention that Blink is much faster than WebKit at rendering things like CSS animations, DOM changes, etc, etc that it was probably worth doing anyway. Hope that was enough info. |
Hi, did you check any of MacGap projects on OS X 10.11?
I've got mine performing very slow, basically it reacts to any click or key press for 30 seconds.
Please help with the necessary updates for the upcoming Mac OS.
Many thanks.
The text was updated successfully, but these errors were encountered: