Results 1 to 3 of 3

Thread: Optimized Qt compilation

  1. #1
    Join Date
    Jul 2015
    Posts
    52
    Thanked 1 Time in 1 Post
    Qt products
    Qt5
    Platforms
    Unix/X11 Windows

    Default Optimized Qt compilation

    I am building static Qt targeting a non very powerful single processor XP machine. (apparently Pentium III, Intel Pentium 1.10 GHz)

    I've managed to compile it but how can I build it with optimized flags /O3 etc. and what about sse2 and so on?

    The application is too slow and can't keep up with the sent signals sent at 1Hz.

  2. #2
    Join Date
    Jan 2006
    Location
    Graz, Austria
    Posts
    8,416
    Thanks
    37
    Thanked 1,544 Times in 1,494 Posts
    Qt products
    Qt3 Qt4 Qt5
    Platforms
    Unix/X11 Windows

    Default Re: Optimized Qt compilation

    You can add to QMAKE_CFLAGS and QMAKE_CXXFLAGS in your .pro file.

    Also make sure you are doing actual profiling to check if any code paths can be written more efficiently.

    Cheers,
    _

  3. #3
    Join Date
    Jul 2015
    Posts
    52
    Thanked 1 Time in 1 Post
    Qt products
    Qt5
    Platforms
    Unix/X11 Windows

    Default Re: Optimized Qt compilation

    Hello again anda_skoa, I'll definitely give you credit on the application About or something!

    You are talking about the project .pro, but I'm referring to the qt static library. I guess both can be optimized and I'm wondering about the latter.

    ATM I was going to compile Qt with the following options:

    Qt Code:
    1. configure -static -static-runtime -no-harfbuzz -no-angle -no-opengl -no-openssl -no-freetype -no-ssl -release -opensource -confirm-license -mp -nomake examples -nomake tests -c++11 -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -skip webengine -skip webkit -skip webkit-examples -no-warnings-are-errors -sse4.2 -prefix C:\Qt\Static\msvc2xp -platform win32-msvc2013 -target xp
    To copy to clipboard, switch view to plain text mode 

    regarding the .pro, I'm adding Ox. I have to check which other flags does msvc have.


    Added after 1 18 minutes:


    I've found the mkspecs under qtbase, but nothing changes if I change, say, the compiler line.

    Which makespecs is 'configure' reading? How can I know?

    I'm running a shell with:

    Qt Code:
    1. C:\Qt\Static\src\qt-everywhere-opensource-src-5.5.0>REM Set up \Microsoft Visual
    2. Studio 2013, where <arch> is \c amd64, \c x86, etc.
    3.  
    4. C:\Qt\Static\src\qt-everywhere-opensource-src-5.5.0>CALL "C:\Program Files (x86)
    5. \Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat" x86
    6.  
    7. C:\Qt\Static\src\qt-everywhere-opensource-src-5.5.0>SET _ROOT=C:\Qt\Static\src\q
    8. t-everywhere-opensource-src-5.5.0
    9.  
    10. C:\Qt\Static\src\qt-everywhere-opensource-src-5.5.0>SET PATH=C:\Qt\Static\src\qt
    11. -everywhere-opensource-src-5.5.0\qtbase\bin;C:\Qt\Static\src\qt-everywhere-opens
    12. ource-src-5.5.0\gnuwin32\bin;C:\Program Files (x86)\Microsoft Visual Studio 12.0
    13. \Common7\IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Micros
    14. oft SDKs\F#\3.1\Framework\v4.0\;C:\Program Files (x86)\MSBuild\12.0\bin;C:\Progr
    15. am Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\;C:\Program Files (x86)\
    16. Microsoft Visual Studio 12.0\VC\BIN;C:\Program Files (x86)\Microsoft Visual Stud
    17. io 12.0\Common7\Tools;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Program F
    18. iles (x86)\Microsoft Visual Studio 12.0\VC\VCPackages;C:\Program Files (x86)\HTM
    19. L Help Workshop;C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\P
    20. erformance Tools;C:\Program Files (x86)\Windows Kits\8.1\bin\x86;C:\Program File
    21. s (x86)\Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\;C:\Program Files (x8
    22. 6)\NVIDIA Corporation\PhysX\Common;C:\Program Files\NVIDIA GPU Computing Toolkit
    23. \CUDA\v7.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\libnvvp;C
    24. :\Ruby22\bin;C:\Perl64\site\bin;C:\Perl64\bin;C:\Python27\;C:\Python27\Scripts;C
    25. :\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\
    26. Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\Syste
    27. m32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Wind
    28. ows Live\Shared;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL
    29. ;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Fil
    30. es (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\
    31. Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\
    32. ;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Git\
    33. cmd;C:\Program Files (x86)\Git\bin;C:\Program Files (x86)\CMake\bin;C:\Program F
    34. iles (x86)\Skype\Phone\;C:\Program Files (x86)\nodejs\;C:\Program Files (x86)\PD
    35. Ftk\bin\;C:\Program Files\SlikSvn\bin;C:\Program Files\MATLAB\R2009b\runtime\win
    36. 64;C:\Program Files\MATLAB\R2009b\bin;C:\Program Files (x86)\Windows Kits\8.1\Wi
    37. ndows Performance Toolkit\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\
    38. ;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsof
    39. t SQL Server\110\Tools\Binn\;C:\Windows\system32\config\systemprofile\.dnx\bin;C
    40. :\Program Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\Microsoft Emulator Ma
    41. nager\1.0\;C:\Users\Pol\Desktop\flightPlanQt\lib\gdalwin32-1.4.1\bin;C:\texlive\
    42. 2014\bin\win32;C:\Users\Pol\AppData\Roaming\npm;C:\Program Files (x86)\Java\jre7
    43. \bin;C:\Program Files (x86)\MSBuild\12.0\Bin\;C:\Program Files (x86)\Microsoft V
    44. isual Studio 12.0\VC\bin\;C:\Qt\5.5\msvc2013_64\bin;C:\Qt\5.5\msvc2013_64\lib;C:
    45. \Python27;C:\Perl64\bin
    46.  
    47. C:\Qt\Static\src\qt-everywhere-opensource-src-5.5.0>REM Uncomment the below line
    48. when using a git checkout of the source repository
    49.  
    50. C:\Qt\Static\src\qt-everywhere-opensource-src-5.5.0>REM SET PATH=C:\Qt\Static\sr
    51. c\qt-everywhere-opensource-src-5.5.0\qtrepotools\bin;C:\Qt\Static\src\qt-everywh
    52. ere-opensource-src-5.5.0\qtbase\bin;C:\Qt\Static\src\qt-everywhere-opensource-sr
    53. c-5.5.0\gnuwin32\bin;C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7
    54. \IDE\CommonExtensions\Microsoft\TestWindow;C:\Program Files (x86)\Microsoft SDKs
    55. \F#\3.1\Framework\v4.0\;C:\Program Files (x86)\MSBuild\12.0\bin;C:\Program Files
    56. (x86)\Microsoft Visual Studio 12.0\Common7\IDE\;C:\Program Files (x86)\Microsof
    57. t Visual Studio 12.0\VC\BIN;C:\Program Files (x86)\Microsoft Visual Studio 12.0\
    58. Common7\Tools;C:\Windows\Microsoft.NET\Framework\v4.0.30319;C:\Program Files (x8
    59. 6)\Microsoft Visual Studio 12.0\VC\VCPackages;C:\Program Files (x86)\HTML Help W
    60. orkshop;C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Performan
    61. ce Tools;C:\Program Files (x86)\Windows Kits\8.1\bin\x86;C:\Program Files (x86)\
    62. Microsoft SDKs\Windows\v8.1A\bin\NETFX 4.5.1 Tools\;C:\Program Files (x86)\NVIDI
    63. A Corporation\PhysX\Common;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7
    64. .0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v7.0\libnvvp;C:\Ruby22
    65. \bin;C:\Perl64\site\bin;C:\Perl64\bin;C:\Python27\;C:\Python27\Scripts;C:\Progra
    66. mData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program
    67. Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
    68. ;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Windows Live
    69. \Shared;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Prog
    70. ram Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)
    71. \Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\In
    72. tel(R) Management Engine Components\IPT;C:\Program Files\Intel\WiFi\bin\;C:\Prog
    73. ram Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\Git\cmd;C:\P
    74. rogram Files (x86)\Git\bin;C:\Program Files (x86)\CMake\bin;C:\Program Files (x8
    75. 6)\Skype\Phone\;C:\Program Files (x86)\nodejs\;C:\Program Files (x86)\PDFtk\bin\
    76. ;C:\Program Files\SlikSvn\bin;C:\Program Files\MATLAB\R2009b\runtime\win64;C:\Pr
    77. ogram Files\MATLAB\R2009b\bin;C:\Program Files (x86)\Windows Kits\8.1\Windows Pe
    78. rformance Toolkit\;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Prog
    79. ram Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files\Microsoft SQL Se
    80. rver\110\Tools\Binn\;C:\Windows\system32\config\systemprofile\.dnx\bin;C:\Progra
    81. m Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\Microsoft Emulator Manager\1.
    82. 0\;C:\Users\Pol\Desktop\flightPlanQt\lib\gdalwin32-1.4.1\bin;C:\texlive\2014\bin
    83. \win32;C:\Users\Pol\AppData\Roaming\npm;C:\Program Files (x86)\Java\jre7\bin;C:\
    84. Program Files (x86)\MSBuild\12.0\Bin\;C:\Program Files (x86)\Microsoft Visual St
    85. udio 12.0\VC\bin\;C:\Qt\5.5\msvc2013_64\bin;C:\Qt\5.5\msvc2013_64\lib;C:\Python2
    86. 7;C:\Perl64\bin
    87.  
    88. C:\Qt\Static\src\qt-everywhere-opensource-src-5.5.0>SET QMAKESPEC=win32-msvc2013
    89.  
    90.  
    91. C:\Qt\Static\src\qt-everywhere-opensource-src-5.5.0>SET _ROOT=
    92.  
    93. C:\Qt\Static\src\qt-everywhere-opensource-src-5.5.0>
    To copy to clipboard, switch view to plain text mode 


    Cheers
    Last edited by quimnuss; 14th September 2015 at 11:59.

Similar Threads

  1. Replies: 3
    Last Post: 27th August 2015, 18:30
  2. How to Optimized Combined Graphical Operations?
    By sunny.cpp in forum Qt Programming
    Replies: 1
    Last Post: 28th April 2010, 12:06
  3. SDK vs. own compilation
    By codeman in forum Installation and Deployment
    Replies: 19
    Last Post: 20th October 2009, 10:50
  4. emit qt signal is very slow how it can be optimized?
    By sawerset in forum Qt Programming
    Replies: 8
    Last Post: 30th December 2008, 09:21
  5. Qt's optimized OpenGL context switching
    By sverhoff in forum Qt Programming
    Replies: 0
    Last Post: 28th March 2006, 16:40

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.