From kde-cygwin Sat Aug 16 17:20:03 2003 From: Holger Schroeder Date: Sat, 16 Aug 2003 17:20:03 +0000 To: kde-cygwin Subject: Re: win32 port X-MARC-Message: https://marc.info/?l=kde-cygwin&m=106105419720822 Hi Al, i am happy that you like the project. i once started the native port of qt 2 to native windows without x11 out of curiosity. i wanted to learn a little bit of programming and of the internals of qt, and so i ended up starting this port. it was a lot of fun. in the beginning there was nothing, then was able to open application windows, draw circles them, draw text in them, react on key- and mouseevents. but i kind of left it half finished and moved on to get into the kde on windows issue. i would personally be very happy, when the trolltech people would release a qt version for windows under gpl. of course they did not release it yet, only because some people mailed them that they would like to have it. so the only way to convince them is to start the port by your own and wait for their reaction. when you try the actual cvs sources, and start a program like examples/demo/demo.exe, you will see that there are still some problems, but about 90% is already working fine. when you start it normally, it will be quite slow, but that is mainly because of all the debug output. try to start it with demo.exe 2&>1 > /dev/null and it will be almost usable. now for the performance problems: there are three major performance problems in cygwin: - fork() call under unix the fork call creates two processes from one, and it is quite fast there. the whole kde is optimized for this. under windows there is no fork call, there is only a create process call. this process then has to be fed with the data from the first one and that needs a lot of time. an interesting example for this is kmail. it needs few seconds to start up under linux, but on the same computer it needs about 2 minutes to come up under cygwin. there are also problems with relocating of libraries in connection with forking, as the pointers to the libraries have to be fixed for one process or the other. so some work needs to be done here. for example somebody could look into kprocess, and try to get it running with the native create process call, as for most things the created process only has to do some stuff, but it doesn't have to be a copy of the first one. - unix domain sockets ralf did some performance tests on unix domain sockets. they are about 6 percent of the speed under cygwin as they are under linux on the same computer. so somebody should look into the cygwin sources and try to speed this up. if i understood it correctly, unix domain sockets are implemented using tcp or so. - file lookup functions in qt and cygwin as under the windows file system there are no links, they have to be emulated in some way. so every try to open a file under cygwin ends up in several file system operations, for example it checks if a file *.lnk is there, and if it is, it is read and interpreted, and the "link" is followed. if you want to execute a file, the system always checks, if there is a file *.exe and when it is there, it tries to execute that one. so in general this could be improved, but i don't know how... i have a 2 ghz pentium, and it is not that slow, although it is a lot slower than linux native. to improve kde on linux, i would recommend that we fix some or all of the abovementioned problems before we go on and get it running under native qt. i expect that it will make kde usable also on let's say 500 mhz computers. we should also first get the main kde applications like kmail, koffice, kdevelop and so on running on cygwin using the x11 version of qt. so we have a good base if working things, which we can start to improve upon... i will be holding a talk about all this on the kde contributor conference. so perhaps i can attract one or two new developers for this... Holger On Friday 15 August 2003 13:06, Al Major wrote: > your work with the win32 port is pretty interesting. i happen to believe > that it won't have a huge impact on trolltech's commercial sales of windows > licenses. there's many many ISV's and OEM's and corporates that don't want > to license their product under GPL and will happily pay trolltech's > licencsing fees. plus people have a thing about being "guaranteed" support. > > in a way, my major concern about this port is that if it winds up being > successful, trolltech is likely to release a GPL version of their windows > product as well. of course, that would be a good thing for users. however > it might be a bummer for you hard working folks on the QT3-Win32 project. > > that would be my major hesitation in investing a lot of time into this > project. having said that, i've just started playing with building an app > under kde-cygwin and find the performance of kde under xfree to be kinda > slow. a native win32 port of qt might well solve the performance problem. > dunno. once i've got a first cut of the app done in KDE-cygwin, i'd be > happy to lend a hand with the port. > every help is welcome, feel free to choose something that is interesting for you ;-) > how far along is the port? are there complete apps running under it as yet? > are you attempting to eliminate the X-11 layer? or all of cygwin? > > regards, > > al > > _______________________________________________ > kde-cygwin mailing list > kde-cygwin@mail.kde.org > http://mail.kde.org/mailman/listinfo/kde-cygwin _______________________________________________ kde-cygwin mailing list kde-cygwin@mail.kde.org http://mail.kde.org/mailman/listinfo/kde-cygwin