Version 12 (modified by, 13 years ago) (diff)


Backlog of Qt and QtWebKit problems

Qt problems

  • ARM optimized qdrawhelper is only enabled for RCVT (symbian) . The needs to be transferred to gcc inline assembly. This will optimize memfill, Source, SourceOver and some blend functions.
  • ARMv6 should be auto detected. Currently arm/armv6 can be passed as -embedded options. The benefit of ARMv6 in src/corelib is the use of atomic load and exchange, instead of the old "swap" extension. __ARCH_ARM_6__ should be used to detect it.
  • Enabled pld (preload) in qdrawhelper for ARMv5te and upwards
  • QImageReader deserves some optimatations. E.g. decode to the QImage provided to the decoder, do not parse every gif when trying to determine the size.
  • Changes to QHttpNetworkReply to reduce memory reallocations. Reserve some bytes instead of doing QByteArray::append all them time.
  • Cut down on the usage of QUrl::toEncoded as it shows up in the profile of starting jobs.
  • QBENCHMARK results are hard to analyze and compare. We need a single and simple way to say if something is faster or slower. Be a bit like sunpsider, do the same math as well, mention slowest and fastest run.
  • Make picking a QImageIOHandler in QImageReader faster. Currently even the TIFF plugin is asked to handle images.
  • Bring zero-copy to QIODevice... big one. That is good for networking and image decoding.
  • Cut down on usage of QImage::scanLine inside Qt. This was already done in the GIF and PNG decoder. Patch is to be merged.
  • Make QGifHandler::imageCount scan through the images. This can give a 5% speedup in the image_cycling reduction.

QtWebKit problems

  • TCmalloc needs to be tested. Does it make anything faster/slower? How to test memory fragmentation.
  • The fuzz testing will make QtWebKit go in infinite loops and stop working. This situation needs to be analyzed as this can be a serve reliabality problem.
  • Research a better QImage -> QPixmap migration strategy. Currently we convert every QImage to a QPixmap and this is bad for times where we need to draw a scaled version of the image or will only draw this image once. The bug report is here
  • Loading bug/API bug on loading amazon in QtEmbedded Linux. #30301
  • Go through the Palm changes and consider adopting them. Currently candidates are: Use stack/class memory in CSSParser, use JDCT_Fast for Jpeg decoding (to be achieved with QImageReader to set quality to 49), changes to Cached* to throw away encoded data more early. Palm avoids floating point operation on premultiplied alpha in setRGBA.
  • Using QImageReader::setQuality(49) will use JDCT_IFAST and promises to give a 5% speedup on image_cycling.