binaryninja-api
binaryninja-api copied to clipboard
LinearView responsiveness
Version and Platform (required):
- Binary Ninja Version: 5.1 Bug Description: LinearView lags when the PriorityQueue is full. We have the InteractiveQueue but that isn't being used when it could be to improve UX while analysis is underway.
Not sure if this is helpful but I have examples from my own experience of linear view responsiveness and UI freezes when analysis is underway:
- Its quite common, particularly in large binary views (i.e. for DYLD Shared Cache), for there to be freezes that last multiple seconds which are often caused by blocking on acquiring locks. Simply navigating around or clicking to change where the cursor highlights causes some kind of UI update code to fire which then requires getting some information which needs a lock which is being held for long periods of time. I can try and add some call stacks if that helps? There have been a couple of variations that I see.
- Changing the name or types of variables or functions can take a really long time to take affect visually (minutes in some cases). I might change the name of a function parameter and I won't see it change in HLIL for a while. I'm guessing this is caused by what you state above about the priority queue being full and these changes are being added to that queue.