You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@Lithopsian noticed that the treemap layout algorithm and the shading of treemap tiles were somewhat different in QDirStat from the original papers by the TU Eindhoven from 1999-2000. He observed that QDirStat was more prone to produce thin, elongated rectangles than necessary, instead of squares which are much better to compare relative sizes: The area of a treemap tile directly corresponds to the file or directory that it represents, and it's very hard to compare a long, thin rectangle to a square. Is it larger? Is it smaller? Or is it the same size? That's hard to tell when the shapes are very different.
Subdivisions
Building a treemap from a tree means subdividing a given area into rectangles to fit treemap tiles into that area; sometimes horizontally (left to right), sometimes vertically (top to bottom). The order in which that was done was different in QDirStat than what the papers proposed. @Lithopsian fixed that with the pull requests that he contributed; now it uses the smaller side so the resulting tiles are more squarish and less elongated and thin.
Directory Grouping
The result is not only much more square tiles, but also a very visible grouping on each directory level: You can now clearly see larger squares on the top left and increasingly smaller squares down to the bottom right. As usual, as they become so small that you couldn't make them out anymore anyway, they are not rendered anymore, so in large trees, the bottom right tends to be a a flat grey area of "leftover tiny stuff" on many directory levels.
You can use the mouse wheel to zoom in and see more details.
Ridges and Lighting
During each subdivision, a small visual "ridge" is added to give some more visual cues which tiles belong together, i.e. the lighting changes a little bit. This is another area that @Lithopsian improved in his pull requests; now the light source is no longer outside of a directory anymore, but in its geometric center.
Treemap Parameters Tuning
This was all a good start on the way to improved treemaps, but the old treemap parameters for lighting, ridge heights and some more didn't fit very well anymore, so they needed some tuning - and simplification, because some of them were quite redundant and sometimes cancelled each other out.
Even in the old QDirStat (and KDirStat) treemaps those parameters sometimes didn't quite fit: Some treemaps had very dull colors, sometimes much too dark in some areas, sometimes too washed out and too light. That is now much improved; the colors are now much brighter and cleaner.
It might still get some more fine-tuning in the future, though.
Examples
src/qdirstat
Old
New
My Home Directory with Full Browser Caches
Old
New
My Home Directory after Cleaning Browser Caches etc.
You'd be amazed how much cruft is still left over after cleaning caches in the Internet browsers (Opera, Chrome, FireFox). I did some more manual cleaning here, too, using the new "Find" function, searching for "cache", "thumbnails" and similar.
Old
New
The Whole Root Filesystem (openSUSE Leap 15.5)
Old
New
Don't get confused with the bold font in red for /var: This couldn't be read completely because of permissions (hence the red color), but still it's one of the largest directories on that level (hence the bold font).
All Installed Packages (openSUSE Leap 15.5)
Old
Notice the blue strip at the bottom which was the result of another minor bug; this is now also fixed.
New
The sort order between packages is now slightly different because it now takes the allocated size into account.
All YaST Packages (openSUSE Leap 15.5)
Old
New
Doesn't that already qualify as computer art? ;-)
Conclusion
Observe how the directory grouping is now much more obvious.
Observe how much cleaner and brighter and much less washed out the colors now are.
The text was updated successfully, but these errors were encountered:
Treemap Improvements
See also issues #223 and #224 and PRs #225 and #235 by @Lithopsian.
Layout Algorithm
@Lithopsian noticed that the treemap layout algorithm and the shading of treemap tiles were somewhat different in QDirStat from the original papers by the TU Eindhoven from 1999-2000. He observed that QDirStat was more prone to produce thin, elongated rectangles than necessary, instead of squares which are much better to compare relative sizes: The area of a treemap tile directly corresponds to the file or directory that it represents, and it's very hard to compare a long, thin rectangle to a square. Is it larger? Is it smaller? Or is it the same size? That's hard to tell when the shapes are very different.
Subdivisions
Building a treemap from a tree means subdividing a given area into rectangles to fit treemap tiles into that area; sometimes horizontally (left to right), sometimes vertically (top to bottom). The order in which that was done was different in QDirStat than what the papers proposed. @Lithopsian fixed that with the pull requests that he contributed; now it uses the smaller side so the resulting tiles are more squarish and less elongated and thin.
Directory Grouping
The result is not only much more square tiles, but also a very visible grouping on each directory level: You can now clearly see larger squares on the top left and increasingly smaller squares down to the bottom right. As usual, as they become so small that you couldn't make them out anymore anyway, they are not rendered anymore, so in large trees, the bottom right tends to be a a flat grey area of "leftover tiny stuff" on many directory levels.
You can use the mouse wheel to zoom in and see more details.
Ridges and Lighting
During each subdivision, a small visual "ridge" is added to give some more visual cues which tiles belong together, i.e. the lighting changes a little bit. This is another area that @Lithopsian improved in his pull requests; now the light source is no longer outside of a directory anymore, but in its geometric center.
Treemap Parameters Tuning
This was all a good start on the way to improved treemaps, but the old treemap parameters for lighting, ridge heights and some more didn't fit very well anymore, so they needed some tuning - and simplification, because some of them were quite redundant and sometimes cancelled each other out.
Even in the old QDirStat (and KDirStat) treemaps those parameters sometimes didn't quite fit: Some treemaps had very dull colors, sometimes much too dark in some areas, sometimes too washed out and too light. That is now much improved; the colors are now much brighter and cleaner.
It might still get some more fine-tuning in the future, though.
Examples
src/qdirstat
Old
New
My Home Directory with Full Browser Caches
Old
New
My Home Directory after Cleaning Browser Caches etc.
You'd be amazed how much cruft is still left over after cleaning caches in the Internet browsers (Opera, Chrome, FireFox). I did some more manual cleaning here, too, using the new "Find" function, searching for "cache", "thumbnails" and similar.
Old
New
The Whole Root Filesystem (openSUSE Leap 15.5)
Old
New
Don't get confused with the bold font in red for /var: This couldn't be read completely because of permissions (hence the red color), but still it's one of the largest directories on that level (hence the bold font).
All Installed Packages (openSUSE Leap 15.5)
Old
Notice the blue strip at the bottom which was the result of another minor bug; this is now also fixed.
New
The sort order between packages is now slightly different because it now takes the allocated size into account.
All YaST Packages (openSUSE Leap 15.5)
Old
New
Doesn't that already qualify as computer art? ;-)
Conclusion
Observe how the directory grouping is now much more obvious.
Observe how much cleaner and brighter and much less washed out the colors now are.
The text was updated successfully, but these errors were encountered: