background preloader

Webkit Acceleration

Facebook Twitter

OnQ Blog - Why is Qualcomm Innovation Center (QuIC) Investing in WebKit? As the Principal Engineer for QuIC’s Web Technology team, one of the most common questions I’m faced with is, “Why is QuIC expending energy to help optimize Webkit?”

OnQ Blog - Why is Qualcomm Innovation Center (QuIC) Investing in WebKit?

Perhaps some people feel that actively participating in open source runs contrary to traditional business models. Or, some may even wonder why QuIC doesn’t just sit back and leverage the work of other corporations and the rest of the WebKit community. Most people would be surprised at the number of wireless devices enabled by open source activities within QuIC.

They might also be surprised at the engineering talent QuIC has brought in from around the world to improve the fundamental components of mobile Web technology, namely WebKit and the V8 JavaScript engine. In my opinion, there are many reasons for QuIC’s interest and involvement in open source Web technologies, as summarized below. Provide desktop browsing experience in mobile footprint A key to power efficiency is to use dedicated hardware where appropriate. Tutorials. Programmable Graphics Hardware Pipeline Programmable Vertex Processor The vertex processor is a programmable unit that operates on incoming vertex attributes, such as position, color, texture coordinates, and so on.

Tutorials

The vertex processor is intended to perform traditional graphics operations such as vertex transformation, normal transformation/normalization, texture coordinate generation, and texture coordinate transformation. The vertex processor only has one vertex as input and only writes one vertex as output. Topological information of the vertices is not available. Programmable Geometry Processor The greometry processor allows access to the geometry (lines, triangles, quads etc.). Programmable Fragment Processor The fragment processor is intended to perform traditional graphics operations such as operations on interpolated values, texture access, texture application, fog, and color sum. Language. Web Inspector: Styles Enhanced.

During the past few months, we’ve been working hard to improve the CSS editing experience for Web Inspector users.

Web Inspector: Styles Enhanced

Now, we are happy to provide you with an update. Style Presentation Have you ever found yourself in a situation where you entered a large, complex gradient definition for your background property and it suddenly disappeared once you hit Return? The reason was that the Styles sidebar only showed style content that the browser understood. If the browser didn’t understand the content, be it a typo or an unsupported property, the Web Inspector would show nothing. On a related note, the Web Inspector can now show the colors in property values exactly as they are written in an inline style, external stylesheet, or via the inspector.

Editing Styles Based on feedback from our users, we have improved the editing of CSS rules. Additionally, you can paste a compound “name: value” property into the name field, and it will work as you expect. Persisting Changes Did you know that… GPU Accelerated Compositing in Chrome - The Chromium Projects. Recall that in the software path there was a single GraphicsContext for the entire page.

GPU Accelerated Compositing in Chrome - The Chromium Projects

With accelerated compositing, we need a GraphicsContext for each compositing layer so that each layer can draw into a separate bitmap. Recall further that we conceptually already have a set of parallel tree structures, each more sparse than the last and responsible for a subtree of the previous: the DOM tree, the RenderObject tree, and the RenderLayer tree. With the introduction of compositing, we add an additional conceptual tree: the GraphicsLayer tree. Each RenderLayer either has its own GraphicsLayer (if it is a compositing layer) or uses the GraphicsLayer of its first ancestor that has one.

This is similar to RenderObject’s relationship with RenderLayers. The Code Code related to the compositor lives inside WebCore, behind the USE(ACCELERATED_COMPOSITING) guards. Whither the GPU? So how does the GPU come into play? Architectural Interlude: The GPU Process.