Excerpts from Erik Blankinship's message of Fri Sep 03 07:49:27 +0200 2010:
> I need help understanding why I am getting very poor frame rates when I use > pycairo to move a large image around the screen on an olpc XO. When I use > pycairo to draw a rectangle of the same size on an XO, I get great > performance! This is confusing to me because in my experience on other > platforms, redrawing vector graphics is much, much slower than blitzing > bitmaps to the screen. Summary: Graphics acceleration is probably disabled on the OLPC build you are likely to be using, causing vector graphics to be slow. Long story: The relative performance of vector vs. bitmap graphics depends on quite a few factors: - bandwidth between main memory and video memory - who renders the vector graphics: CPU ("unaccelerated") vs. graphics chip ("accelerated") - CPU performance vs. graphics chip performance - complexity of the vector graphics operation "Regular" PCs nowadays often use some portion of the main memory as video memory ("shared memory") with a high-bandwidth link between CPU and video memory. It isn't surprising if using pre-rendered bitmaps with this kind of setup is faster than using vector operations. I haven't checked the bandwidths on XO-1 (which is probably the one you're talking about; results will differ on XO-1.5), but I do know that until very recently the geode graphics driver had several bugs if acceleration was enabled, so it's rather likely to be disabled in the OLPC builds (though I don't know if it worked in older builds). This means that the CPU has to do the work of executing your vector operations *and* transfer the result (a bitmap image) to video memory. This is obviously slower than skipping the vector operations step and transferring a bitmap image right away. Sascha -- http://sascha.silbe.org/ http://www.infra-silbe.de/
signature.asc
Description: PGP signature
_______________________________________________ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel