Asger Ottar Alstrup wrote:
Andre Poenitz wrote:
The coord cache is filled in the drawing phase (the metrics phase fills the size part of the coord cache only). We _do_ have a 'null painter' which only fills the cache, but if we did metrics + null painter painting + real painting in every case, drawing might get slow. Just a suspicion, though.
An idea to fix the update over ADSL in a general way, in a way which does not require the kernel to know about the extend a change has on the screen:
The null painting phase can be used to detect what really needs to be updated.
During an update, we built a fingerprint hash of each painting operation: a hash based on the content and the operation itself. This finger-print is stored in a data-structure indexed by the rectangle the operation covers.
IMHO all this falls into category "optimization". It's nice to think about it but first the real problem has to be solved. My impression - from a perspective of guy who knows nothing about the details - the additional null painter step looks reasonable.
Regards, Michael