[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-kimageshop
Subject:    Compression design
From:       Boudewijn Rempt <boud () valdyas ! org>
Date:       2006-11-27 16:29:33
Message-ID: 200611271729.35945.boud () valdyas ! org
[Download RAW message or body]

[Attachment #2 (multipart/signed)]


For documentation purposes, here's what I'm trying to implement for the 
compressed tile experiment:

* A thread, KisTileCompressor that takes tiles from a queue and compresses 
them in the background
* The data for the compressed state of a tile is special allocated
* The data for the uncompressed state of a tile is taken from the pool
* KisTile will get three states: compressed, uncompressed and queued for 
compression.
* As soon as the last reader is is removed, a tile is queued for compression
* If a reader is added to the tile before the tile is compressed, it is 
dequeued and nothing happens.
* If a reader is added to a compressed tile, it is decompressed
* Only compressed tiles are written out to swap

(In this scheme, therefore, all tiles may get compressed, not just the tiles 
in the undo swap -- I want to see what this does for interactive speed, so 
I'm pursuing the most agressive option first.)

Note: it would have been handy if we had used a QByteArray instead of a plain 
char * array.

-- 
Boudewijn Rempt 
http://www.valdyas.org/fading/index.cgi

[Attachment #5 (application/pgp-signature)]

_______________________________________________
kimageshop mailing list
kimageshop@kde.org
https://mail.kde.org/mailman/listinfo/kimageshop


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic