Version 1 (modified by 8 years ago) ( diff ) | ,
---|
Sony WebKit Work
WebKit team in Sony Interactive Entertainment
Don Olmstead presenting
- WebGL
- Rendering
WebKit on PlayStation!
Why is it used?
- PS3, PS Vita, PS4 (Current Focus)
- Use it as a Browser on the PS4.
- But mainly in the PS UI.
- Social apps on PS4 are all web applications.
- But most importantly, the PlayStation Store.
Port Information
- POSIX-compatible platform (based on FreeBSD)
- Cairo/TextureMapper
- Inspired by GTK/EFL/WinCairo
- WebKit 2-based.
- Uses cURL for networking.
- Cross compile from Windows workstations to PS4 device.
- Build using Clang.
Goal: Move to Trunk
- Previously: Grab a Safari tagged SVN revision and port to their software.
- Bad!<br />
- Always porting.<br />
- Lots of manual porting of Security patches.<br />
- Never contributing back!
Current status
- Permission from Sony was granted to start contributing!
- JavaScriptCore now being built directly from trunk.
- Working on CMake/MSBuild toolchains to integrate a port.
- Preparing a BuildBot, working on getting a JSC test runner working.
Potential Contributions
Platform Abstraction Layer
- Clear platform layer. Easier for "out-of-trunk" ports.
- Would lower the bar for people to use WebKit.
- Perhaps merge various *NIX ports.
Rendering Improvements
- Optimize performance: Immutable Render Trees?
- Optimize memory use
- CSS Containment - might dovetail nicely with Web Components.
- Houdini<br />
- Would allow neat effects (highlight)<br />
- Fun to do!
Developer Tooling
Found that developers don't have a good grasp of rendering:
- Why is a layer created?
- Example:
"Layerhood"
- Visualization of the current layers in a document.
- Real-time
- Maybe integrate to Web Inspector? -> Here a really cool demo of their 3D layer visualization tool was presented.
HDR
- TV's can output HDR information.
- PlayStation 4 support
- HDR image format support.
Q & A
- Is the store and so forth run directly over network? Not file URLs, etc.?
- Yep. They have their own certificates, but otherwise just like a Web Browser.
- Are web developers working on PS4 directly?
- Sony exposes some special content to web engine on PS4, but generally they can work on desktop.
- Developers generally like to work on PC for performance, ease of developement.
- JIT?
- External developers (e.g., EA) can't use JIT.
- Sony doesn't expose JIT to developers.
- Games?
- It's available to developers, but they aren't aware of any currently taking advantage of it.
- WebGL?
- Not available to external developers, but is used inside PS4 store and platform content.
- Do you want to become a "real" in-tree port?
- Yes.
- Sony knows WebKit has been burned in the past. Hope that being present for this meeting and engaging will help pave the way.
- Platform Abstraction Layer
- Some work exists now.
- Sony (and the WebKit team) can build on it.
- TV
- Games can launch into browser to show relevant content.
- No good statistics on use.
- Why did you choose WebKit?
- Started before the Blink branch.
- JSC having an interpreted mode was important for security reasons.
- Chrome is the "Google Show", not good opportunities to contribute due to their army of engineers banging on it.
- WebKit's strategy is focused on performance and small footprint. This is critical for PS4 and devices.
- Blink is more about feature-feature-feature.
- Do you use WebKitTestRunner and related tools?
- Starting a process on PS is costly.
- Existing process of pushing a file to device and running it doesn't work well for them.
- Hope to work to allow one binary to go to device, then run the tests there in some set of processes.
- HTML5 Videos?
- Yes. Uses an internal library.
- How do you implement Accelerated Graphics?
- Sony has an OpenGL layer on top of something very similar to Vulcan.
- An Intel guy is doing some Canvas-drawing code right on the hardware. Might use some of this in the future.
Note:
See TracWiki
for help on using the wiki.