Recent

Author Topic: Lazarus and Kylix GUI performance.  (Read 9482 times)

toplek

  • Jr. Member
  • **
  • Posts: 53
Re: Lazarus and Kylix GUI performance.
« Reply #15 on: February 05, 2016, 12:32:20 pm »
Conclusion for slower activity in the qt4, were wrong, I changed LCL Widget for IDE but not for the compiler. After the change LCL Widget to qt4 for compiler, can not see the difference of speed between showing windows in gtk2 and qt4.

I run the program on a Terminal HP t5730 Thin Client LTSP, so this server performs calculation for the program. It is now on the server processor Xeon 3GHz x 2, and anyway program compiled under Lazarus display window slower than the Kylixie compiled application even running on weake LTSP Thin Client / Server.

The file size of program compiled in Kylix is 5.6 MB including 12 dependencies:

0. Application => 282kB
1. linux-gate.so.1
2. bplvisualclx.so.6.9 => 1789kB
3. bplrtl.so.6.9 => 747kB
4. libdl.so.2 => 274kB
5. libpthread.so.0 => 128KB
6. libc.so.6 => 186KB
7. libX11.so.6 => 1352KB
8. libz.so.1 =>  866KB
9. ld-linux.so.2 => 132KB
10. libxcb.so.1 => 146KB
11. libXau.so.6 => 10KB
12. libXdmcp.so.6 => 20K

The file size of the same program compiled in Lazarus is 15,2MB including 49 dependencies:

0. Application : 6863kB
1. linux-gate.so.1
2. libpthread.so.0 => 78kB
3. libdl.so.2 =>  274kB
4. libX11.so.6 => 1352kB
5. libgdk_pixbuf-2.0.so.0 => 155kB
6. libgtk-x11-2.0.so.0 => 5081kB
7. libgdk-x11-2.0.so.0 => 773kB
8. libgobject-2.0.so.0 => 370kB
9. libglib-2.0.so.0 => 96kB
10. libgthread-2.0.so.0 =>  6kB
11. libgmodule-2.0.so.0 => 14kB
12. libpango-1.0.so.0 => 327kB
13. libcairo.so.2 => 1308kB
14. libatk-1.0.so.0 => 155kB
15. libc.so.6 => 186kB
16. ld-linux.so.2 => 132kB
17. libxcb.so.1 => 146kB
18. libgio-2.0.so.0 => 1746kB
19. libpng12.so.0 => 174kB
20. libm.so.6 => 274kB
21. libpangocairo-1.0.so.0 =>  50kB
22. libXcomposite.so.1 => 10kB
23. libXdamage.so.1 => 10kB
24. libXfixes.so.3 => 22kB
25. libpangoft2-1.0.so.0 =>  91kB
26. libfontconfig.so.1 => 258kB
27. libfreetype.so.6 => 707kB
28. libXrender.so.1 => 42kB
29. libXinerama.so.1 => 10kB
30. libXi.so.6 => 70kB
31. libXrandr.so.2 => 42kB
32. libXcursor.so.1 =>  42kB
33. libXext.so.6 => 79kB
34. libffi.so.6 => 26kB
35. libpcre.so.3 => 10kB
36. libthai.so.0 => 40kB
37. libpixman-1.so.0 => 734kB
38. libxcb-shm.so.0 => 10kB
39. libxcb-render.so.0 => 38kB
40. libz.so.1 => 110kB
41. librt.so.1 => 30kB
42. libXau.so.6 => 10kB
43. libXdmcp.so.6 => 20kB
44. libselinux.so.1 => 151kB
45. libresolv.so.2 => 78kB
46. libharfbuzz.so.0 => 371kB
47. libexpat.so.1 => 166kB
48. libdatrie.so.1 => 30kB
49. libgraphite2.so.3 => 106kB

The same program compiled under Lazarus takes nearly 10 MB more than the same program compiled in the Kylix, maybe this is the reason why the same program runs slower on the terminal, what do you think ?

How to turn on the 'FrameBuffer' in application ?, is it by 'DoubleBuffered := True;' ?

PP.
« Last Edit: February 05, 2016, 12:38:07 pm by toplek »

zeljko

  • Hero Member
  • *****
  • Posts: 1820
    • http://wiki.lazarus.freepascal.org/User:Zeljan
Re: Lazarus and Kylix GUI performance.
« Reply #16 on: February 05, 2016, 12:46:07 pm »
1.Kylix uses statically linked libborqt library, supports only i386, uses commercial dcc compiler...
2.Lazarus & fpc are open source projects, and useable on dozen platforms, so there's big chance that binary size will be bigger than in case of kylix. btw have you stripped final linux binary ?
3.Double buffered is not frame buffer (if we are talking about same frame buffer).

marcov

  • Administrator
  • Hero Member
  • *
  • Posts: 12592
  • FPC developer.
Re: Lazarus and Kylix GUI performance.
« Reply #17 on: February 05, 2016, 01:05:54 pm »
And check the dependencies of the Kylix libraries bpl*, or build without packages.

Those files (and any Kylix specific libraries they depend on) should be added to the Kylix filesize.

 

TinyPortal © 2005-2018