home *** CD-ROM | disk | FTP | other *** search
/ Executor 2.0 / executorv2.0.iso / pc / linux / extra / docs / maillist / text / archive.95 / text1558.txt < prev    next >
Encoding:
Text File  |  1996-04-02  |  1.8 KB  |  40 lines

  1. >>>>> "Elan" == Elan Feingold <feingold@zko.dec.com> writes:
  2.  
  3.     Elan> Doesn't the X server already take advantage of hardware
  4.     Elan> acceleration, which would make executor fast under X for
  5.     Elan> "rect fills and stuff" as well?  I would assume that the
  6.     Elan> main advantage of running executor under SVGAlib would be
  7.     Elan> that executor could draw directly to the screen, as opposed
  8.     Elan> to using shared memory under X, which essentially takes
  9.     Elan> twice as long (program to buffer, buffer to screen).  But I
  10.     Elan> could be mistaken :)
  11.  
  12. You're right that the big win is comes from drawing directly to the
  13. screen.  However, SVGALIB saves even more work than you might think.
  14.  
  15. Under X windows, Executor maintains its own internal bitmap
  16. corresponding to the screen.  Pieces of that bitmap are periodically
  17. transferred to the X screen.  If an app does a rect fill, Executor
  18. itself fills in that rectangle in its internal screen bitmap, not the
  19. X server. [*]  The important thing to note is that Executor *does*
  20. execute our blitter code to fill that rect in the internal screen
  21. bitmap.
  22.  
  23. Under SVGAlib, the SVGA screen *is* the frame buffer that Executor
  24. uses.  So when the Mac app tries to fill in a rectangle, we tell the
  25. SVGA board to fill that rectangle using hardware acceleration.  The
  26. key difference here is that Executor *does not* execute its own
  27. rectangle filling code; that would be redundant.
  28.  
  29. So under SVGAlib (with a supported SVGA board) Executor says, "yo,
  30. SVGA board, draw this rectangle" and then goes off and does other work
  31. while the SVGA board is drawing.  Under X, Executor has to draw the
  32. rectangle itself and also update the X screen.
  33.  
  34. -Mat
  35.  
  36. [*] In some circumstances Executor will also have the X server draw
  37.     that rectangle on the real screen "in parallel", on the assumption
  38.     that most people have accelerated X servers.
  39.  
  40.