All tests where done with a 16-bit 4444 buffer (4 bits per component) both as source texture and destination buffer. The texture is linear, as we haven't found how to swizzle or how to enable swizzling yet. The framebuffer is 480x272 visible, but 512x272 in real buffer size.
Code: Select all
memcpy() (*) : 22.65 MB/s, 91.5 fps
single blit, main ram, 480x272: 7.63 MB/s, 30.6 fps
single blit, video ram, 480x272: 51 MB/s, 204.8 fps
Code: Select all
striped blit (8 slices 64x272), main ram, 512x272: 54.62 MB/s, 219.75 fps
striped blit (8 slices 64x272), video ram, 512x272: 498 MB/s, ~2000 fps
I'm submitting this sample to SVN within an hour.
Oh, and these values are very preliminary, I haven't done extensive tests and it's getting pretty late here, but it looks rather good, don't you say? :)
(* memcpy() was 512x272, values has been recomputed to account for this)