juzzlin / Heimer

Heimer is a simple cross-platform mind map, diagram, and note-taking tool written in Qt.
GNU General Public License v3.0
887 stars 112 forks source link

cannot drag and move when zoomed in + performance issues #236

Closed elandorr closed 1 year ago

elandorr commented 1 year ago

First of all: I like an open source scapple clone that works offline! 99% of stuff today is webcrap, your effort is appreciated!

Unfortunately (and unbelievably), currently the webcrap uses fewer resources. Heimer uses 1.4G RAM on its own right now, that's just not doable for normal non-rich peoples' computers. First 4G were said to be the 'minimum', then 8, and now it seems without 16 you can just forget about using the freakin tool you saved up years and skipped any notion of vacation for. This is a rather new laptop, and it's a brick like this. That plus research resources (FF, some PDF reader, editors) = overload. There's no room for yet another program demanding gigabytes. It's not even a large canvas. Scapple can deal with 1000x more with no lag. (But it's windows only.) You're probably aware of this, so I'm not opening a separate issue. I just want to point out the reality of someone trying to use it in real life.

I only touched qt a little bit, so I can't help figure out why. Even manually writing an engine to render a box and a few lines would be more performant, though. You'd do it faster in JS and HTML as much as it pains me to say. Of course, I understand not wanting to write the whole thing from scratch, time is limited.

Scapple uses qt too, if I remember correctly, so there must be a way to make qt behave.

The main move bug: When zoomed in, you cannot drag the background everywhere. It seems random which pixel allows you to. Best bet is to scroll out extremely, and then grab the background far away from the nearest node. But this is a dealbreaker, you can't work with it like that.

Quick fix: A shortcut to hold while moving, so you can always explicitly move. Also a list of shortcuts in settings would be useful. We need at least 'ctrl/shift for selections'.

Additionally, when zoomed in, performance dies. Somehow rendering the entire canvas is faster, than showing 2 nodes. I cannot overstate this, it crawls to a halt, the laptop turns into a turbine. This also makes Heimer almost unusable as of now, as you can't smoothly focus on the content, but always go from smooth to slideshow to finding the next draggable spot.

Running plain Debian Linux, if it matters.

For some more feedback that may be unliked: Your 'hover to expose colors/move' idea is a nice idea, but the scapple way is still far more usable UX. Since this is non-commercial I guess they couldn't sue, so I'd vote for a 1:1 clone, if you'd ever want to change. Scapple is so absurdly usable, it almost makes me forget their forced-online-connection to activate. Just move over to link, hold ctrl/alt/etc for various arrows, the boxes for grouping, it's simple stuff, but it works efficiently without getting in your way. The hover is irritating and requires the same amount of clicks in the end. (e.g. right click -> select template is nicer, no hover = no unwanted opening of the dialog, etc)

Thanks for reading and all the best. Great to see someone still cares about offline tools!

juzzlin commented 1 year ago

Hi,

First of all, Heimer is not a Scapple clone as this is the first time I hear about that tool.

Have you tried to switch the shadow effects off to see if that helps anything? There have been some performance issues with the edge shadows.

I noticed yesterday myself that you cannot drag if the drag position is inside a rectangle spanned by an edge.

Also, there seems to be a memory issue with the undo data especially with big mind maps.

Thanks for reporting!

juzzlin commented 1 year ago

I tested that if you go to File => Settings => Effects and set all the values to 0 the performance gets much faster. Maybe we need a dark border color for the nodes for this case to give some contrast.

juzzlin commented 1 year ago

I'll create separate issues of your observations.

juzzlin commented 1 year ago

Please take a look at #237, #238, and #239. I'll now close this one.

elandorr commented 1 year ago

Thanks!