#
f0e491d3 |
|
28-Jul-2020 |
Andrew Lindesay <apl@lindesay.co.nz> |
HaikuDepot: Icon / Tarball Handling Instead of exploding the tar-ball of icons from HDS, keep it as a tar-ball, index it and read data directly out from specific indicies on demand. This will speed up the process of downloading the icons by removing the unpack. Also updates will be faster by avoiding the need to delete the old icon files. Because icons are loaded on-demand, the start time is faster by avoiding all the icon loads. There are also savings on memory consumption. Indexing on each load is surprisingly fast so no external index is maintained. Likewise for the tar-balls's meta-data. This commit does not cover the implementation of an LRU cache of the icons in memory. Relates to #15370 Change-Id: Ia1647d8c805be89618f493d2592bf7877fca3f14 Reviewed-on: https://review.haiku-os.org/c/haiku/+/3205 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
3369e03d |
|
15-Dec-2018 |
Andrew Lindesay <apl@lindesay.co.nz> |
HaikuDepot: Process and Data-loading Improvements This change is a reshuffle of the backend processing involved in the aquisition of data from servers including the pull-down and load of HPKR data as well as the pull-down and load of data from the HaikuDepotServer (HDS) system. The driver for this change is to implement an initial implementation of a progress bar for the loading of data as the application starts. The following are notable changes; * Removed some previously attempted 'functional style' logic in the model which didn't fit well with C++ * Use of the base-url in the logical mapping from HDS and HD data is no longer required and has been removed * Some logging has been improved making it clearer which part of HD is producing the logging which in turn helps with debugging issues * List class has been modified to more cleanly support sorted lists and binary searches; tests have also be updated accordingly * Reorganise and tidy-up of the data-loading processes' structures * The local repository update (HPKR) and data-load occur in background processes now in the same system as the HDS data-load - this has been crudely shifted from the MainWindow to new Processes and incorporated into the background processing system * The 'state-machine' background process runner is now replaced with a 'coordinator' style approach that can more easily handle the new processes related to HPKR loading. * Progress for loading processes is shown in the main window in the WorkStatusView - this is flickering a bit, but basically works * Added some documentation regarding how Processes work in the system * The "Refresh Repositories" menu item now also updates data from HDS * The "Refresh Repositories" menu item is disabled when the background processes are running that update the repository data Some further refinement would be good, but this change is large enough for one round of improvements. There is an issue that the status bar is used for screenshot display as well as this data-loading, but that was the case before so it is something that can be dealt with later if it is a problem. Change-Id: I7668307645e3aabaf7e4a6e37e2cca80cc0f489e Reviewed-on: https://review.haiku-os.org/770 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
|