existentialwalri•

ok people often say.. use qt use qt, not electron...yet this thing is using hundreds of megs of memory and was super slow to start up so what gives? and everytime i start drawing my cpu is on fire.

14
tourgen•

Use Qt, Not QtQuick or QML

20
jyper•

All new non bug work goes into QtQuick not QWidgets

3
nurupoga•

And? What is the point you are trying to make with this? It's no surprise that Qt Widgets, which was around forever and which is considerate stable and complete, is getting less development than Qt Quick, which is a new thing that the Qt company has made, at least a lot newer and incomplete than Qt Widgets. It would be weird if it was the other way around.

3
Slavik81•

"C++ doesn't give you performance. It gives you control over performance." ~Chandler Carruth

You can build a slow application in any language, with any tools. The good ones just make fast code possible and reasonably straightforward.

10
al-khanji•
  • Did you use a release build of Qt?
  • Did you use a recent Qt version with QML cache, or the Qt Quick Compiler on an older one?
  • How did you measure memory consumption? On some systems e.g. GPU memory inflates the numbers.
  • Do you have a proper OpenGL setup? If not, did you try the Qt Quick 2D backend?

Lots of other variables, but the above come to mind.

7
parabol443•

To be fair, real-world customers wouldn't give a shit about these variables. Most people would just see "this app uses 100% CPU and lots of memory" - this would be one lost customer. Not defending Electron, but this is why many developers use it - the reduced risk that Chrome goes haywire on some systems: If Chrome runs, this app will run, too. Because of its large userbase, Chrome seems to be (at least to me) more battle-tested than QT and works better "out-of-the-box". Of course, this comes at a heavy price.

I sadly can't confirm his results because there are neither Linux builds nor instructions on how to build the app and it doesn't work with wine.

12
RandomGuy256•

You can download the latest release here: https://github.com/mitchcurtis/slate/releases

I can confirm what u/existentialwalri said. Usually Qt apps are very lightweight but this one is eating ram and cpu with simple drawing.

Keep in mind that all releases so far are pre-releases, so hopefully the author can fix some of the performance issues.

3
elder_george•

Are you guys using Mac? Worked just fine on Windows for me. Ate ~78M, but that's totally not "hundreds".

(Paint.net, written in C# and much more powerful, eats ~50M FWIW, so there're places for improvement, for sure)

3
RandomGuy256•

Windows too. At startup is 78MB yes, but draw some stuff and in a minute or so you will get > 150 MB plus you can feel the lag (and cpu usage) while drawing.

2
agonnaz•

No Linux binaries, and I'm having issues building it in Linux when I use qmake and then make ("Unknown module(s) in QT_PRIVATE: quicktemplates2-private"). I'm not familiar with Qt, but I'd like to give this thing a shot without having to use wine or something.

edit: I think I'm missing some dependency, qtquickcontrols2 or something. I'll note if I get it figured out.

edit 2: Installing qtquickcontrols2 gets through that error, but throws me another error on "Unknown module(s) in QT: undo", leading me to believe that either the programmer is using a more customized build or that I'm missing something obvious because I don't understand the QT build system (leaning toward the latter).

3
Myrl-chan•

The README has links to his own library. I don't use Qt either, so I can't help you on how to include that in the build system.

https://github.com/mitchcurtis/slate/#dependencies

1
agonnaz•

Yeah, I saw those, and when I do the submodule init and update, they pull in. When I run qmake and then make, they even build, but I don't think the build was tested on a system where they weren't already installed, because though they compile, the main project can't find them. I'm guessing there's some disconnect where they should be added to whatever the QT module path is, but I couldn't find much information about that (I'm guessing there's some obvious keyword I would know if I was a Qt programmer and could find it from there immediately, but not being one, I'm in the dark).

1
doom_Oo7OP•

I'm guessing there's some disconnect where they should be added to whatever the QT module path is

if you're using your system's qt it will look in /usr/lib & friends so you would have to make / make install

1
mhd•

Heh, I remember when Motif was called bloated because it included a layout DSL.

1
doom_Oo7OP•

QML / QtQuick is not really comparable to Motif, XAML, or JavaFX's FXML though, it's more of an equivalent to HTML / CSS / JS (you can write whole apps purely in it).

1
mhd•

That was my point. Back in the days a rather limited UI description language was seen as excessive, these days it's most of the browser stack…

1
ander_bsd•

M4?

1
mhd•

UIL

 object hello : XmPushButton {
  arguments {
   XmNlabelString      = hello_string;
   XmNfontList         = hello_font;
   XmNmarginHeight     = 2;
   XmNmarginWidth      = 3;

   ! Form constraint resources
   XmNleftAttachment   = XmATTACH_WIDGET;
   XmNleftWidget       = world;
   XmNtopAttachment    = XmATTACH_FORM;
   XmNbottomAttachment = XmATTACH_FORM;
   XmNrightAttachment  = XmATTACH_FORM;
 };
 callbacks {
     XmNactivateCallback = procedure quit ("Goodbye!");
   };
 };
2
ander_bsd•

Looks saner than pure XLib.

1