holger-kde at holgis.net
Sat Aug 16 20:20:03 CEST 2003
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
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
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
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
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...
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
> 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?
> kde-cygwin mailing list
> kde-cygwin at mail.kde.org
More information about the kde-cygwin