-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stuck when analyzing large image #393
Comments
I'm 99% sure your problems would be fixed if the |
@rodrigobdz there isn't an option for that, I was thinking more in the lines of disabling it in the code and building it locally. I'll take a look today to aid you what to comment out.
This is #393, though? |
You're right, I meant #288. Thanks, Mark |
@rodrigobdz sorry for the late reply. Here's the patch: diff --git a/runtime/ui/controller.go b/runtime/ui/controller.go
index 964fb83..3eedb56 100644
--- a/runtime/ui/controller.go
+++ b/runtime/ui/controller.go
@@ -85,10 +85,10 @@ func (c *Controller) onLayerChange(selection viewmodel.LayerSelection) error {
c.views.Details.SetCurrentLayer(selection.Layer)
// update the filetree
- err := c.views.Tree.SetTree(selection.BottomTreeStart, selection.BottomTreeStop, selection.TopTreeStart, selection.TopTreeStop)
- if err != nil {
- return err
- }
+ // err := c.views.Tree.SetTree(selection.BottomTreeStart, selection.BottomTreeStop, selection.TopTreeStart, selection.TopTreeStop)
+ // if err != nil {
+ // return err
+ // }
if c.views.Layer.CompareMode() == viewmodel.CompareAllLayers {
c.views.Tree.SetTitle("Aggregated Layer Contents") This will stop the tree from updating. Feel free to apply it on top of #399 , it should make diff --git a/runtime/ui/controller.go b/runtime/ui/controller.go
index bc76423..26ba3ff 100644
--- a/runtime/ui/controller.go
+++ b/runtime/ui/controller.go
@@ -85,10 +85,10 @@ func (c *Controller) onLayerChange(selection viewmodel.LayerSelection) error {
c.views.LayerDetails.CurrentLayer = selection.Layer
// update the filetree
- err := c.views.Tree.SetTree(selection.BottomTreeStart, selection.BottomTreeStop, selection.TopTreeStart, selection.TopTreeStop)
- if err != nil {
- return err
- }
+ // err := c.views.Tree.SetTree(selection.BottomTreeStart, selection.BottomTreeStop, selection.TopTreeStart, selection.TopTreeStop)
+ // if err != nil {
+ // return err
+ // }
if c.views.Layer.CompareMode() == viewmodel.CompareAllLayers {
c.views.Tree.SetTitle("Aggregated Layer Contents") |
@mark2185 Wow, thank you very much for helping out! 💯 |
No problem, glad to have helped! |
@mark2185 thanks for the tip on how to speed this up! is it possible to turn your patch into a config option? seems like it would be pretty useful for others who are analyzing large images. |
Well, it disabled the treeview completely so I wouldn't have that as a config option (unless you can toggle it back on during runtime). Would you like to try and give it a shot? :) I.e. a launch flag to run dive with the treeview disabled, and then toggle the treeview during runtime. |
Can we get some 👁️ on this please? ❤️ Maybe it's the tree implementation? Maybe it's re-rendering unnecessarily outside of the viewport? |
I was about to open an issue regarding Since this tool is mainly supposed to be used with larger images, it kind of doesn't make sense, that it doesn't work at all, with an image, that is over 2GB in size. |
💯Running Dive on my |
My machine has memory of 32G, and can analyze tiny image normally using dive. But when I analyze an image of 20G, I can barely control the cursor with pressing up and down on the keyboard (long delay), and it will be stucked when the cursor moves to the bottom or the top, where I can't see any message of Image Details (blocked by layer info). Sinece the memory is not run out, is there any bug when analyzing large image?
The text was updated successfully, but these errors were encountered: