performance of 2.4 under Linux

Bert Freudenberg bert at isgnw.CS.Uni-Magdeburg.De
Fri Jul 16 15:29:15 UTC 1999


On Fri, 16 Jul 1999, Ian Piumarta wrote:

> > when running with a remote X server, BitBlt operations appear to
> > be very slow.
> 
> Ah, now I understand.  The bottleneck is your network.

That's only half of the truth. Squeak's display performance seems to be
very much dependend on the X server used. Here's a little benchmark that
tests, in different depths, the performance of blitting into a form vs.
blitting to Display: 

   | form saveDepth result |
   saveDepth _ Display depth.
   form _ Form dotOfSize: 100.
   result _ #(8 16 32) collect:
      [:depth | Display newDepth: depth. 
         World notNil ifTrue: [World doOneCycleNow].
         depth -> ({Form extent: 300 at 300 depth: depth. Display} collect:
            [:dest | Time millisecondsToRun:
               [150 to: 200 do:
                  [:y | 150 to: 200 do:
                     [:x | form displayOn: dest at: x at y]]]])].
   Display newDepth: saveDepth.
   ^result

On my machine this gives
   (8->(2560 5287 ) 16->(3588 6298 ) 32->(5770 9257 ) )
which means that X blitting is roughly as fast as Squeak internal blit.
[The first number is the time for a SqForm-SqForm blit, the second for
SqForm-SqDisplay-Xwindow]

On my friend's machine the result is
   (8->(3615 13374 ) 16->(4975 15597 ) 32->(7692 15778 ) )
but under NT with defered update disabled
   (8->(3245 5648 ) 16->(4566 7812 ) 32->(7280 18967 ) )
which is a huge difference.

I'm not yet sure what this all means, but perhaps some of you could send
me (privately) your results, and I could compile a list of "Recommended
Linux Squeak Graphics Cards". You may want to experiment with different
color depths (startx -- -bpp <n>) and include the output of xdpyinfo.

  /bert





More information about the Squeak-dev mailing list