summaryrefslogtreecommitdiff
path: root/gsk/gskdiff.c
Commit message (Collapse)AuthorAgeFilesLines
* gsk: Stop using g_sliceMatthias Clasen2023-03-141-2/+2
|
* gsk: Allow diffing code to abortBenjamin Otte2021-12-201-5/+14
| | | | | Now the vfuncs can decide they don't want to diff anymore, not just the actual diff function.
* gsk: CosmeticsMatthias Clasen2021-03-281-1/+1
|
* diff: Allow aborting a diffBenjamin Otte2018-04-051-26/+51
| | | | | | | | | | | | When the max cost for finding a path gets to high, the diff can now be aborted. Because render nodes have a fallback method (by just marking the whole bounds of the nodes as different), we use this to improve performance of diffs. This brings fishbowl (which is basically a container node with N images that change every frame) back to close to previous performance.
* diff: Introduce GskDiffSettingsBenjamin Otte2018-04-051-34/+59
| | | | | We can put lots of settings there to allow tuning the diff algorithm used.
* gsk: Implement gsk_render_node_diff()Benjamin Otte2018-04-051-0/+439
This includes a copy of the diff(1) algorithm used by git diff by Davide Libenzi. It's used for the common case ofcontainer nodes having only very few changes for the few nodes of child widgets that changed (like a button lighting up when hilighted or a spinning spinner).