Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Checking run time characteristics for QFileDialog::getOpenFileName()
Forum Updated to NodeBB v4.3 + New Features

Checking run time characteristics for QFileDialog::getOpenFileName()

Scheduled Pinned Locked Moved Unsolved General and Desktop
qfiledialoggetopenfilenamerun timeresponsivenessfile management
16 Posts 4 Posters 3.4k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #6

    What desktop environment are you using ?

    How many and what type of storage system do you have connected to your computer ?

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    E 1 Reply Last reply
    1
    • E elfring

      @SGaist said in Checking run time characteristics for QFileDialog::getOpenFileName():

      And what version is it ?

      I am using the Qt versions which were provided together with openSUSE Tumbleweed for years. It is currently 5.11.2-1.1.

      aha_1980A Offline
      aha_1980A Offline
      aha_1980
      Lifetime Qt Champion
      wrote on last edited by
      #7

      @elfring just to add to @SGaist, especially check network drives. I especially have a delay in Windows because of that (but only some seconds).

      Qt has to stay free or it will die.

      1 Reply Last reply
      0
      • SGaistS SGaist

        What desktop environment are you using ?

        How many and what type of storage system do you have connected to your computer ?

        E Offline
        E Offline
        elfring
        wrote on last edited by
        #8

        @SGaist said in Checking run time characteristics for QFileDialog::getOpenFileName():

        What desktop environment are you using ?

        I am using XFCE 4.12.1 primarily at the moment while I have got access also to programs from other environments.

        How many and what type of storage system do you have connected to your computer ?

        I refer to directories from a local hard disk for this clarification request.

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #9

          The fact that you are opening the dialog on your local hard drive, doesn't mean that there's no access to the other devices that you may have.

          By the way, do you have the same problem if your disable the native dialog ?

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          E 1 Reply Last reply
          1
          • SGaistS SGaist

            The fact that you are opening the dialog on your local hard drive, doesn't mean that there's no access to the other devices that you may have.

            By the way, do you have the same problem if your disable the native dialog ?

            E Offline
            E Offline
            elfring
            wrote on last edited by
            #10

            The fact that you are opening the dialog on your local hard drive, doesn't mean that there's no access to the other devices that you may have.

            • I would be also curious then which of other possible device connections will influence the primary file selection in undesirable ways.
            • Which data processing actions can disturb the dialogue display considerably?

            By the way, do you have the same problem if your disable the native dialog ?

            Can be determined if a native file dialogue is used by the function “QFileDialog::getOpenFileName” at all (if the passing of the configuration option “QFileDialog::DontUseNativeDialog” was omitted so far)?
            (Do I need to add debug output to any source code place?)

            JonBJ 1 Reply Last reply
            0
            • E elfring

              The fact that you are opening the dialog on your local hard drive, doesn't mean that there's no access to the other devices that you may have.

              • I would be also curious then which of other possible device connections will influence the primary file selection in undesirable ways.
              • Which data processing actions can disturb the dialogue display considerably?

              By the way, do you have the same problem if your disable the native dialog ?

              Can be determined if a native file dialogue is used by the function “QFileDialog::getOpenFileName” at all (if the passing of the configuration option “QFileDialog::DontUseNativeDialog” was omitted so far)?
              (Do I need to add debug output to any source code place?)

              JonBJ Offline
              JonBJ Offline
              JonB
              wrote on last edited by
              #11

              @elfring

              • Don't know what you're saying, but @SGaist is suggesting you try passing the DontUseNativeDialog flag and see whether Qt's own inbuilt dialog behaves better for you in this situation.

              • While you're at it. The most likely cause for any big time delay would be the dialog doing any work examining network or detachable-media drives. Note that Qt has a QFileDialog::DontUseCustomDirectoryIcons flag, which you should also try using:

              Some platforms allow the user to set a different icon. Custom icon lookup cause a big performance impact over network or removable drives.

              • And on that note what do you pass as the "initial/root directory" to your getOpenFileName()? Try not to pass the very "root" directory of the file system, where network/removable drives stem from, if you don't need to. Pass a directory lower down on a fixed, local drive if you can.

              • Finally, if you still have big delays and don't know why, use Linux strace to discover what the code is actually doing behind the scenes to cause this!

              E 1 Reply Last reply
              3
              • JonBJ JonB

                @elfring

                • Don't know what you're saying, but @SGaist is suggesting you try passing the DontUseNativeDialog flag and see whether Qt's own inbuilt dialog behaves better for you in this situation.

                • While you're at it. The most likely cause for any big time delay would be the dialog doing any work examining network or detachable-media drives. Note that Qt has a QFileDialog::DontUseCustomDirectoryIcons flag, which you should also try using:

                Some platforms allow the user to set a different icon. Custom icon lookup cause a big performance impact over network or removable drives.

                • And on that note what do you pass as the "initial/root directory" to your getOpenFileName()? Try not to pass the very "root" directory of the file system, where network/removable drives stem from, if you don't need to. Pass a directory lower down on a fixed, local drive if you can.

                • Finally, if you still have big delays and don't know why, use Linux strace to discover what the code is actually doing behind the scenes to cause this!

                E Offline
                E Offline
                elfring
                wrote on last edited by
                #12

                Finally, if you still have big delays and don't know why,

                I am wondering about occasional hiccups in the responsiveness of file management dialogues.

                use Linux strace to discover what the code is actually doing behind the scenes to cause this!

                I have got the impression that it can matter also which program tries to open a fresh dialogue for another file (or directory) selection. If there is an unpleasant software initialisation process involved, I imagine that it can become very challenging to find the concrete error reason in a reasonable time frame.
                Will any other debugging aproaches or system performance analysis help better?

                JonBJ 1 Reply Last reply
                0
                • E elfring

                  Finally, if you still have big delays and don't know why,

                  I am wondering about occasional hiccups in the responsiveness of file management dialogues.

                  use Linux strace to discover what the code is actually doing behind the scenes to cause this!

                  I have got the impression that it can matter also which program tries to open a fresh dialogue for another file (or directory) selection. If there is an unpleasant software initialisation process involved, I imagine that it can become very challenging to find the concrete error reason in a reasonable time frame.
                  Will any other debugging aproaches or system performance analysis help better?

                  JonBJ Offline
                  JonBJ Offline
                  JonB
                  wrote on last edited by
                  #13

                  @elfring

                  Will any other debugging aproaches or system performance analysis help better?

                  Yes, like I said, use strace!

                  E 1 Reply Last reply
                  1
                  • JonBJ JonB

                    @elfring

                    Will any other debugging aproaches or system performance analysis help better?

                    Yes, like I said, use strace!

                    E Offline
                    E Offline
                    elfring
                    wrote on last edited by
                    #14

                    Yes, like I said, use strace!

                    I have accidentally noticed the unpleasant software behaviour once more.

                    The program trace displays so many information so that it seems to be hard to connect another unexpected big delay in the file directory display with a specific function call within the affected software implementation.

                    JonBJ 1 Reply Last reply
                    0
                    • E elfring

                      Yes, like I said, use strace!

                      I have accidentally noticed the unpleasant software behaviour once more.

                      The program trace displays so many information so that it seems to be hard to connect another unexpected big delay in the file directory display with a specific function call within the affected software implementation.

                      JonBJ Offline
                      JonBJ Offline
                      JonB
                      wrote on last edited by
                      #15

                      @elfring
                      Well I can't see your output so I don't know. But I would have expected that provided you are looking at the strace output in real time what you would see is the last line of output would "hang" just as you went into a "delay", and that would be your indication as to why....

                      E 1 Reply Last reply
                      1
                      • JonBJ JonB

                        @elfring
                        Well I can't see your output so I don't know. But I would have expected that provided you are looking at the strace output in real time what you would see is the last line of output would "hang" just as you went into a "delay", and that would be your indication as to why....

                        E Offline
                        E Offline
                        elfring
                        wrote on last edited by
                        #16

                        you are looking at the strace output in real time

                        Not really. - I would start such program tracing only after a personal delay to notice that data processing for the function “QFileDialog::getOpenFileName” might take longer than what I would usually expect.
                        (I might be more patient under other circumstances.)

                        what you would see is the last line of output would "hang"

                        This did not happen. The dialogue software might be still busy with other stuff.
                        Additional activities might distract then from temporary technical difficulties.

                        just as you went into a "delay", and that would be your indication as to why....

                        I found questionable software behaviour also for other components in the suggested way so that corresponding clarification requests and bug reports were published.

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved