
To view parent comment, click here.
To read all comments associated with this story, please click here.
Because if you can't move the pixmap to fast video ram for accelerated hardware operations, you've already lost. Although just using XShmPutImage can sometimes be a win, it isn't always, because chances are you'll be copying or moving the memory anyways.
The X SHM extension -- the way it's normally used -- makes it very hard to do this efficiently, if not entirely impossible, so Xshm beats traditional XPutImage if you only care about a single blit, but if you're reusing the pixmap it can be a net loss, depending on your drivers (the better the drivers, the more of a loss it is)
In fact, it's so much worse that Exa (the new Xorg acceleration architecture) actually disables parts of the extension (shared pixmaps) so that it can properly accelerate 2d stuff.
Member since:
2005-07-06
I don't understand your point about the shared memory preventing hardware optimisation: all the extension says in that in the end the one who create the data must put it at this 'shared memory' location?
If the GPU can read or write at this memory location (depending on the operation of course), why couldn't there be hardware accelation?