RawTherapee 5.3 Released

Cause Gtk2 works like a charm :frowning:

1 Like

What is your gtk3 version

Does AdjusterMinDelay in options files of your Gtk2 and Gtk3 rt installations have the same value?

@stefan.chirila could you record a video? Main page - SimpleScreenRecorder - Maarten Baert's website

Hi @PanoMeister

Just a wild guess, perhaps it will give us nothing new, butā€¦ you could try performing this test. The next time RT becomes slow, can you please run the following simple program?
https://filebin.net/yszpw83sr43s76ra/test.exe
you need to put it in the top directory of RT (i.e. where rawtherapee.exe is located).
The program just creates a bunch of file chooser buttons ā€“ I just want to check whether they have anything to do with the problem you are experiencing (since IIRC there was something about them in one of your log files)
Note: the SHA1 sum of the above exe should be 209e8383e7e36d31cad44a1053fb19981399d4b4

EDIT. Hereā€™s the source code just in case:

#include <gtkmm.h>

int main(int argc, char **argv)
{
    auto app = Gtk::Application::create(argc, argv, "org.gtkmm.examples.base");

    Gtk::Window window;
    Gtk::VBox box;
    
    for (int i = 0; i < 10; ++i) {
        Gtk::FileChooserButton *b = Gtk::manage(new Gtk::FileChooserButton("test button", Gtk::FILE_CHOOSER_ACTION_OPEN));
        box.pack_start(*b);
    }

    window.add(box);
    window.show_all_children();
    
    return app->run(window);    
}
1 Like

I just tested test.exe on my Windows 7 system. Takes ~ 2 seconds to show the window with the 10 file chooser buttons.

Ok, thank you for that.
Iā€™ve downloaded the test.exe file.

Should I run it before, during and/or after RT becomes slow?
And what exactly do you want to know?
Because when I run test.exe it shows some empty file chooser lines.
BTW: even this small .exe file takes about 6 seconds (!) to display anything!?!

Iā€™m getting more and more convinced that there are some included libraries/interface apiā€™s (or whatever you might call them) who are having initialization issues on Win10!

Immediately after.

How long it takes to show the window.

Yes, thatā€™s what it does :slight_smile:

Which, as I suspected, indicates that the problem is not in RT but somewhere else. Perhaps thereā€™s something in your particular windows installation that doesnā€™t play nicely with GTK (the GUI toolkit that RT uses).

Bottom line: if the simple test exe becomes very slow when RT does, you should consider reporting this to the GTK devs and see whether they can tell you somethingā€¦

So (?) this is already a confirmation that GTK (used for compiling RT for Windows, I presume?) has issues.
Because even, the simple start of test.exe on a fresh rebooted Win10 system takes almost as long as it takes to start RT.

But Iā€™m not a programmer, nor a developer of any kind of software. You guys (?) are the developers, correct? So why should I contact GTK devs? Whatever/however; I have no clue, sorry.

I was just trying to test a promising piece of software, like RawTherapee, but as long as it canā€™t run ā€˜normallyā€™ on a Windows10 system, itā€™s over for me. And I assume you can understand why. :thinking:

Even stranger; although the initial startup of RT (compiled with those ā€˜flimsyā€™ GTK :wink:) takes too long, why does it take much longer, after a longer period of an active Win10 system? Even more buggy? :grinning:

@agriggio I tried reporting GTK+ issues several times, but progress usually ends with me being unable to provide a source code testcase other than pointing to RT. It would be great if you or @PanoMeister could report this to the GTK+ devs:
https://bugzilla.gnome.org/enter_bug.cgi

I can try opening the bug report, but please note that I am not experiencing the issue, so I canā€™t be of much help in debugging it either. Thatā€™s why I was suggesting to @PanoMeister to actually report the bug, because he then can provide further info to the GTK devs so that they can pinpoint the problem and hopefully implement a solution.

BTW, one more comment:

Sure, I understand. But you should also understand that RT (like many free/open source projects) is a community effort, meaning that it is done by the community and for the community, which consists of both developers and users. Developers contribute by writing code, users contribute by providing feedback, reporting bugs, interacting in the forum, etc. People who have no interest in helping can still get to use the software for free, but they wonā€™t get much attention if they complainā€¦ or, at least, they wonā€™t get much attention from me :slight_smile: ā€“ (I obviously cannot speak for the other developers).

So, the new bottom line: thanks for your help so far, it would be great if you could still help us by reporting the bug to the GTK devs (using the link provided by @Morgan_Hardwood) so that everybody can benefit from an improved GTK and RT. If not, no problem, just send me your credit card number and I will give you back your money :wink:

5 Likes

@paperdigits I am 99% sure it is GTK 3.22.24 in Debian

@heckflosse I will have to check on that later today. will get back to you!

@Morgan_Hardwood Iā€™ll try :smiley:

Seems reasonableā€¦ for someone who knows what all those acronyms like GTK+ meanā€¦
Unfortunately, I donā€™t. So I have no clue how to report bugs on the mentioned url (It seems I need a separate account for that?) and what kind of technical data I would have to provide.
Other then ā€œRT is too slow to start and according to its developpers I must report a bugā€ :face_with_raised_eyebrow:

See my point? I have no idea how to go forward with this?!?

@paperdigits Debian -- Details of package libgtk-3-0 in sid libgtk-3-0 (3.22.24-3)

FYI: https://www.gtk.org/

Anyway, letā€™s try to go forward in another way, since you seem to be willing to help (great! :slight_smile:
Could you please try with this other test program?
https://filebin.net/yszpw83sr43s76ra/test-2.exe
Is this still slow or is it a bit better now?

1 Like

On my windows 7 test-2.exe is faster than test.exe (1 sec for test-2.exe and 2 sec for test.exe)

@heckflosse thanks Ingo for checking. Hereā€™s the code for test-2:

#include <gtkmm.h>

class AGFileChooserButton: public Gtk::Button {
public:
    AGFileChooserButton():
        lbl_("(None)"),
        filename_("")
    {
        box_.pack_start(lbl_, true, true);
        Gtk::Image *img = Gtk::manage(new Gtk::Image());
        img->set_from_icon_name("folder", Gtk::ICON_SIZE_BUTTON);
        box_.pack_start(*img, false, false);
        box_.show_all_children();
        set_image(box_);
        signal_clicked().connect(sigc::mem_fun(*this, &AGFileChooserButton::show_chooser));
    }

private:
    void show_chooser()
    {
        Gtk::FileChooserDialog dlg("test", Gtk::FILE_CHOOSER_ACTION_OPEN);
        dlg.add_button("Cancel", Gtk::RESPONSE_CANCEL);
        dlg.add_button("Ok", Gtk::RESPONSE_OK);
        int res = dlg.run();
        if (res == Gtk::RESPONSE_OK) {
            filename_ = dlg.get_filename();
            lbl_.set_label(Glib::path_get_basename(filename_));
        }
    }

    Gtk::HBox box_;
    Gtk::Label lbl_;
    std::string filename_;
};


int main(int argc, char **argv)
{
    auto app = Gtk::Application::create(argc, argv, "org.gtkmm.examples.base");

    Gtk::Window window;

    Gtk::VBox box;
    
    for (int i = 0; i < 10; ++i) {
        AGFileChooserButton *b = Gtk::manage(new AGFileChooserButton());
        box.pack_start(*b);
    }

    window.add(box);
    window.show_all_children();
    
    return app->run(window);    
}

Basically, Iā€™m implementing the button myself (well, I actually only did a stub implementation, not a full-blown one). If this turns out to be the culprit, perhaps itā€™s something we can consider for RT on windowsā€¦

1 Like

Same thing here, Windows 7.