Ralf, Those are some very interesting results. I especially like the ones where Cygwin is 10 to 1000 times slower than Linux :) Oh well... I can't bitch anymore for fear of obligating myself to contribute to Cygwin proper.
Harold > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]]On Behalf Of Ralf Habacker > Sent: Tuesday, March 12, 2002 3:30 AM > To: Cygwin-Xfree > Subject: RE: DDraw Blt vs BltFast > > > > > > On Mon, 11 Mar 2002, Harold Hunt wrote: > > > > > Alexander, > > > > > > Because the following article: > > > > > > > > http://msdn.microsoft.com/library/default.asp?url= > > /library/en-us/wcegmm/htm/ > > > ddover_51.asp > > > > > > states that: > > > > > > "BltFast cannot be used on surfaces that have > > an attached clipper." > > > > Ok. > > > > > We use a clipper to account for any other > > Windows window overlaying our > > > window, which would cause a portion of our blit > > destiation to be > > > undrawable... which would mean that we wouldn't > > be allowed to use BltFast. > > > > > > Now... could we use BltFast in DirectDraw > > fullscreen modes? > > > > Not needed. The blitting does not slow down the > > server significantly. I > > think the cygwin socket layer slow much more. > > Do you have seen the lmbench results on the cygwin list > http://sources.redhat.com/ml/cygwin/2002-01/msg01719.html > This confirm your statement. > > *Local* Communication bandwidths in MB/s - bigger is better > ----------------------------------------------------------- > Host OS Pipe AF TCP File Mmap Bcopy > Bcopy Mem Mem > UNIX reread reread (libc) > (hand) read write > --------- ------------- ---- ---- ---- ------ ------ ------ > ------ ---- ----- > BRAMSCHE CYGWIN_NT-5.0 93.9 17.6 40.7 335.0 477.7 145.0 > 134.0 477. 195.9 > BRAMSCHE Linux 2.2.18 343. 235. 64.4 177.7 238.5 71.5 > 61.4 238. 75.3 > > I have done some analysing work with this and with the > cygwin daemon (cygserver transport classes) there may be a > way in the future to implement unix domain sockets with > named pipes which speed up unix domain sockets up to 250 > MB/s, as I have measured with a quick an dirty sample > implementation. (Unfortunally currently I have no time to > work on) > > Another way seems to me in using local connection for the > xtrans layer, but there are two ioctl functions missing in > cygwin I_FDINSERT and I_RECVFD. > > I_FDINSERT > Creates a message from specified buffer(s), adds information > about another STREAM, and sends the message downstream. > > I_RECVFD > Retrieves the reference to an open file description from a > message written to a STREAMS-based pipe using the I_SENDFD > command, and allocates a new file descriptor in the calling > process that refers to this open file description. > > In any case there is some work to do. > > Regards > Ralf > >