Changes between Initial Version and Version 1 of SonyWebKitWork2016


Ignore:
Timestamp:
Oct 27, 2016 12:07:40 PM (7 years ago)
Author:
Jon Davis
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SonyWebKitWork2016

    v1 v1  
     1= Sony WebKit Work =
     2
     3WebKit team in Sony Interactive Entertainment
     4
     5Don Olmstead presenting
     6
     7* WebGL
     8* Rendering
     9
     10WebKit on PlayStation!
     11
     12== Why is it used? ==
     13
     14* PS3, PS Vita, PS4 (Current Focus)
     15* Use it as a Browser on the PS4.
     16* But mainly in the PS UI.
     17* Social apps on PS4 are all web applications.
     18* But most importantly, the PlayStation Store.
     19
     20== Port Information ==
     21
     22* POSIX-compatible platform (based on FreeBSD)
     23* Cairo/TextureMapper
     24* Inspired by GTK/EFL/WinCairo
     25* WebKit 2-based.
     26* Uses cURL for networking.
     27* Cross compile from Windows workstations to PS4 device.
     28* Build using Clang.
     29
     30== Goal: Move to Trunk ==
     31
     32* Previously: Grab a Safari tagged SVN revision and port to their software.
     33* Bad!<br />
     34        - Always porting.<br />
     35        - Lots of manual porting of Security patches.<br />
     36        - Never contributing back!
     37
     38== Current status ==
     39
     40* Permission from Sony was granted to start contributing!
     41* JavaScriptCore now being built directly from trunk.
     42* Working on CMake/MSBuild toolchains to integrate a port.
     43* Preparing a BuildBot, working on getting a JSC test runner working.
     44
     45== Potential Contributions ==
     46
     47=== Platform Abstraction Layer ===
     48
     49* Clear platform layer. Easier for &quot;out-of-trunk&quot; ports.
     50* Would lower the bar for people to use WebKit.
     51* Perhaps merge various *NIX ports.
     52
     53=== Rendering Improvements ===
     54
     55* Optimize performance: Immutable Render Trees?
     56* Optimize memory use
     57* CSS Containment       - might dovetail nicely with Web Components.
     58* Houdini<br />
     59        - Would allow neat effects (highlight)<br />
     60        - Fun to do!
     61
     62=== Developer Tooling ===
     63
     64Found that developers don't have a good grasp of rendering:
     65        - Why is a layer created?
     66    - Example:
     67   
     68"Layerhood"
     69        - Visualization of the current layers in a document.
     70        - Real-time
     71        - Maybe integrate to Web Inspector?
     72        -> Here a really cool demo of their 3D layer visualization tool was presented.
     73
     74=== HDR ===
     75
     76* TV's can output HDR information.
     77* PlayStation 4 support
     78* HDR image format support.
     79
     80= Q &amp; A =
     81
     82* Is the store and so forth run directly over network? Not file URLs, etc.?
     83        - Yep. They have their own certificates, but otherwise just like a Web Browser.
     84* Are web developers working on PS4 directly?
     85        - Sony exposes some special content to web engine on PS4, but generally they can work on desktop.
     86        - Developers generally like to work on PC for performance, ease of developement.
     87* JIT?
     88        - External developers (e.g., EA) can't use JIT.
     89        - Sony doesn't expose JIT to developers.
     90* Games?
     91        - It's available to developers, but they aren't aware of any currently taking advantage of it.
     92* WebGL?
     93        - Not available to external developers, but is used inside PS4 store and platform content.
     94* Do you want to become a &quot;real&quot; in-tree port?
     95        - Yes.
     96        - Sony knows WebKit has been burned in the past. Hope that being present for this meeting and engaging will help pave the way.
     97* Platform Abstraction Layer
     98        - Some work exists now.
     99        - Sony (and the WebKit team) can build on it.
     100* TV
     101        - Games can launch into browser to show relevant content.
     102        - No good statistics on use.
     103* Why did you choose WebKit?
     104        - Started before the Blink branch.
     105        - JSC having an interpreted mode was important for security reasons.
     106        - Chrome is the &quot;Google Show&quot;, not good opportunities to contribute due to their army of engineers banging on it.
     107        - WebKit's strategy is focused on performance and small footprint. This is critical for PS4 and devices.
     108        - Blink is more about feature-feature-feature.
     109* Do you use WebKitTestRunner and related tools?
     110        - Starting a process on PS is costly.
     111        - Existing process of pushing a file to device and running it doesn't work well for them.
     112        - Hope to work to allow one binary to go to device, then run the tests there in some set of processes.
     113* HTML5 Videos?
     114        - Yes. Uses an internal library.
     115* How do you implement Accelerated Graphics?
     116        - Sony has an OpenGL layer on top of something very similar to Vulcan.
     117        - An Intel guy is doing some Canvas-drawing code right on the hardware. Might use some of this in the future.