Version 11 (modified by, 10 years ago) (diff)


QtWebKit code camp 08-10.12.2009

More than 30 developers gathered together for QtWebKit code camp in Wiesbaden, Germany.

Intro & general presentations

In the beginning there were three presentations:

After that people were split into five work stream: Performance & Architecture, User Interface, JavaScriptCore, QA and Relasing & Roadmapping

Performance & Architecture

1st Day

  • Anti talking about tile based rendering. Working prototype using QImage exists, need to get support from Qt to draw to QPixmap from a thread, Discussion if tiling should be supported for everyone or just mobile/QGraphicsView
  • BenjaminP talking about plans for Qt4.7 to regularily run benchmarks, automate and store results during the development.
  • Talking about OOM handling, checking each allocation vs. just getting killed by the OS vs. getting signals from the OS and then stop loading...
  • Zoltan talks about a valgrind skin called freya to instrument memory usage including showing how much and who was allocating the memory, common call frames can be removed from the trace.

2nd Day

  • Holger talks about the QtWebKitPerformanceWork and QtWebKitPerformanceUtilities and how the can be used to measure Qt performance. Comments included limiting the bandwidth used for the fake http server.
  • Shortly discussed the RGB16 approach to save some memory by using color converting RGB32 images to RGB16, specially on symbian a 16bit backingstore exists and painting can be done in 16 bit. #29279
  • Shortly discussed using WebCore/platform/image-decoders. The downsampling is a feature one would like to use, also the performance appears to be better. We should explore using them #32410.

3rd Day

  • Holger is MIA in the morning... claimed to be sick
  • BenjaminP and Noam look into QtWebKit's CSS Animation speed and see we have a clip region with 800 rects... A quick test shows a nice improvement.
  • Holger talks with Zoltan of Szeged about performance tuning. Both find out that current focus is more on performance and that both parties more or less see the same in oprofile reports. CSS and JS parsing is dominating our page loading. Szeged's idea is to try a hand written parser for comparisoon. Some more coordination is needed, for the next few months there is no overlap in work though.

User Interface

Java Script Core

1st Day

  • Presentations
    • Loadable Abstract Syntax Tree (for JavaScript source code)
    • JIT in nutshell
    • About QtScript
    • Improving Garbage Collector (when we close a widget, we should regain memory)
    • Regular Expression Engine

2nd day

  • very long discussion about how JavaScriptCore works (all the steps from parsing to JIT-ing)
    • Share our knowledge with each other
  • QtScript internals (and examples)

3rd day

  • Debugging and profiling in WebKit
  • Discussions how we can improve WebKit's performance


Informal presentation with discussion:

  • Andras Becsi (bbandix): Problems with the current Qt DRT, + a tool to monitor and query historic test results (pdf)
  • Gabor Rapcsanyi (rgabor): Current buildbot setup and the future upgrade possibilities (pdf)
  • Csaba Osztrogonac (ossy): Qt build infrastructure and problems with incremental builds
  • Tor Arne Vestbø (torarne): Cross platform layout-test results using SVG-fonts and automation of interpreting results

The discussion spawned off a few action points:

  • Use automated tools to parse test results and give us more information about where we are
  • Split of Qt buildbot into build and tests stages (makes it easier to detect Qt build breaks)
  • Fix the Qt incremental build to detect dependencies in generated sources correctly
  • Try to use SVG fonts to get the same results on mac,win,linux (++)

Roadmap & Releasing

Attachments (8)