WerWolv / ImHex

🔍 A Hex Editor for Reverse Engineers, Programmers and people who value their retinas when working at 3 AM.
https://imhex.werwolv.net
GNU General Public License v2.0
44.59k stars 1.95k forks source link

[Feature] Load unicode glyphs asynchronously (or load them only as needed ?) #796

Closed iTrooz closed 1 month ago

iTrooz commented 1 year ago

What feature would you like to see?

I would like ImHex to load unneeded unicode glyphs asynchronously after startup, or load them only when they need to be displayed (for UI locales/custom encodings/language pattern output/etc...)

How will this feature be useful to you and others?

This would greatly decrease the ImHex startup time

My timings indicate

[12:59:34] [INFO]  [main] Task 'Loading plugins' finished in 97 ms
[12:59:34] [INFO]  [main] Task 'Checking for updates' finished in 381 ms
[12:59:34] [INFO]  [main] Task 'Downloading information' finished in 708 ms
[12:59:39] [INFO]  [main] Task 'Loading fonts' finished in 5447 ms

on a computer with relatively good specs. I think we can expect the time to be even greater on a computer with low specs

Request Type

Other details

This issue is essentially a summary of what was decided on discord : https://discord.com/channels/789833418631675954/789833418631675957/1032220826247888917 https://discord.com/channels/789833418631675954/789833418631675957/1033430308231577642

Implementation idea by WerWolv :

I think the better way would be to load the minimum required glyphs at the start (maybe add the required ranges to the localization definition?) and then after that load everything else asynchronously and switch out the font atlas once loading is completed That way we don't have a blank UI at the start and the glyphs will probably still be available before the user gets the chance to load something that uses the rest of the glyphs

This feature request is currently not planned. Leave a reaction if you would like us to implement it !

github-actions[bot] commented 2 months ago

This issue is marked stale as it has been open for 11 months without activity. Please try the latest ImHex version. (Avaiable here: https://imhex.download/ for release and https://imhex.download/#nightly for development version) If the issue persists on the latest version, please make a comment on this issue again

Without response, this issue will be closed in one month.