Performance

Compiling Qt with Clang

Published Friday October 29th, 2010 | 14 Comments on Compiling Qt with Clang
Posted in C++, Performance, Qt, Test

I’m happy to report that as of Qt revision 15f52e00 and Clang revision 116737 you’re now able to a complete build of Qt with Clang on both Linux and Mac, including support for precompiled headers. You’ll find the makespecs in Qt’s master branch: unsupported/macx-clang unsupported/linux-clang The mkspec are currently unsupported, but we’ve started running a few […]

Read More

Unleashing the power of QPainterPath::addEllipse()

Published Wednesday October 13th, 2010 | 7 Comments on Unleashing the power of QPainterPath::addEllipse()
Posted in Performance, WebKit | Tags: , ,

Up until recently, WebKit used to draw SVG circles and ellipses by breaking them down into 100-segment paths. This was done to get consistent auto-test results across different platforms and rendering libraries. Unfortunately, it wasn’t very fast. With Qt 4.7’s WebKit, my machine reaches a meager 17 FPS on the SVG version of The Man […]

Read More
Eskil Abrahamsen Blomfeldt

A second spring of text rasterization

Published Thursday September 9th, 2010 | 24 Comments on A second spring of text rasterization
Posted in C++, Graphics, Painting, Performance, Qt

Albert Camus said that “autumn is a second spring when every leaf is a flower”. Similarly, text rasterization on Mac OS X is a constant summer where every character is in permanent bloom. The background for this blog post is a text rendering task which has been sitting in my Jira for a while, and […]

Read More

Improving the string performance with more SIMD (or not)

Published Wednesday August 25th, 2010 | 29 Comments on Improving the string performance with more SIMD (or not)
Posted in Performance, Qt

Inspired by some of the work that Benjamin, Samuel and others were doing with SIMD, and taking the opportunity of learn directly from Intel engineers who know this subject better than just about anybody, I decided to get my hands dirty and do some SIMD work too, after work hours. Since I don’t understand the […]

Read More

Improving the rendering performance with more SIMD

Published Tuesday August 24th, 2010 | 24 Comments on Improving the rendering performance with more SIMD
Posted in Assembly, C++, Painting, Performance, WebKit

With the last two versions of Qt, we consistently improved performance. Qt 4.5 introduced pluggable graphics systems and numerous rendering optimizations. Qt 4.6 brought optimizations all over the place, and the performance on embedded improved continuously with each patch release. A problem with increasing the speed all the time is that we fall short on […]

Read More

QtWebKit now accelerates CSS animations & 3D transforms

Published Monday May 17th, 2010 | 14 Comments on QtWebKit now accelerates CSS animations & 3D transforms
Posted in Graphics, Internet, OpenGL, Performance, Uncategorized, WebKit

In my previous blog from 4 months ago, I discussed here a research project to allow hardware-acceleration of CSS animations and 3D. Well, now that the bug reports are consolidating, the benchmarks show consistent improvement, and the entire set of patches is in Qt 4.7, it’s time to blog! 3D transformations were introduced into webkit […]

Read More
Eskil Abrahamsen Blomfeldt

Insanity is shaping the same text again and expecting a different result

Published Monday March 1st, 2010 | 21 Comments on Insanity is shaping the same text again and expecting a different result
Posted in C++, OpenGL, Painting, Performance, Qt

Albert Einstein has been quoted as saying that “insanity is doing the same thing over and over again and expecting a different result.” Apparently this is a misquote, and the original quote actually belongs to Rita Mae Brown, but that’s not important right now. What’s important is that most Qt applications are crazy. Background I’ll […]

Read More
Get started today with Qt Download now