fix(@desktop/chat): abnormal CPU usage and slowness #3691
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This issue is very hard to fix without using some profilers. I've been trying with nim profiler and valgrind and actually not that much useful info there. Actually nim profiler gets stuck when app comes to remote procedure call, and just start hanging, so output file is always empty. Using valgrind is slightly better, but it always end up showing to a calls from macOS dyld lib. I managed to see there a lot of calls to
ImageLoader::recursiveBind
fromImageLoader::recursiveBindWithAccounting
(macos dyld class) and started to check how we are loading images in the app and applied some changes here.If this fix does not solve the issue #3626, it will at least slightly improve performances.