A few days passed since my first post about issues relating image quality and memory consumption in X. I gathered a few people here at Révolution Linux to do some QA on my builds integrating my Mozilla framework modifications. Unfortunately, it seemed like intensive browsing and image viewing of scaled images led to some issues with my previous patches. One of these was caused by interlaced images which wouldn’t completely render. This was actually a bug in a Thebes function which would tell me that an image had done being uncompressed while that wasn’t the case. To support interlaced images, a new flag was added to indicate that an image had not completed its several decompression passes.
Next, there was a very light glitch when scrolling in upscaled images. This was caused by how I implemented scaling and memory usage reduction. I was creating subimages first and then scaling these to fit their destination rectangle. I now proceed with scaling before selecting subimages.
As my update section was explaining, I give users more flexibility of when to manipulate images and use GDK’s bilinear interpolation to increase image quality or when to limit memory usage by a single preference variable.
Finally, this new patch should be considered the final version for bug 395260. It also could be considered a first step toward 372462 resolution. Joe is currently refactoring the whole nsThebesImage code for the Gecko 1.9.1 release and I would expect him to port my GDK manipulations to its future code.
Thin client users, enjoy a more stable Mozilla environment. Here’s a precompiled version of my patch. Feel free to try it and please report any weird behavior with image rendering.
Download my patched Firefox 3.0.1 build (x86-linux)
Download my patched Firefox 3.0.1 build (x86-win32)
Download the patch only
Do your patches improve the behaviour of 422179
This all sounds really interesting. Unfortunately I’m not that familiar with this topic but by reading this I can learn more.