And... all tests are go!
2008.07.17 in summer of code
So! Tonight I got all of the Expedite tests running. I haven't checked that they're all perfect, and there's some larger issues with the program (it draws the icon for the currently selected test really large in the upper right corner, sometimes the text disappears, or the menu forgets to disappear — not sure why); it's nice at least to have all of the tests starting. So! Pictures and notes follow...
You can see the icon thing I was talking about in the top right hand corner. Other than that, this test works well (at least, it does now that I've turned CGContextFlush(...) coalescing off). Coalescing CGContextFlush is a per-application setting (you set CGDisableCoalescedUpdates to true in the application's Info.plist). I'm convinced this is a good thing, because it seems like a good idea for general applications, to prevent tearing, but it's nice to be able to turn it off, for benchmarking applications and the like.
This test hurts my eyes. I'm not sure if it's because we've only got low quality smoothing, or Expedite just gives yukky data, or what, but I'm just happy that the test runs! I ended up looting bits and pieces of different engines to get these image data access functions working (thanks GL and SDL, mostly!). I'm not sure they're perfect, yet (the last of the tests from the old program pertaining to this still doesn't work), but they're a lot better than they were recently!
I didn't initially understand that I needed to support YCbCr colorspaces in my engine (nor did I, once I knew that, know how easy it would be to implement) — I initially assumed mentions of that dealt with the device's colorspace, which I was already long done with... however, this test shows that it's working now!
I think I caught this one in the middle of a redraw, or something. These run pretty slowly (the styled text tests), I'm not sure why — though starting up Quartz 2D Extreme just about doubles their framerate... the normal, unstyled text tests run ~60fps, which is good enough for me!
Here's the first test that's clearly still broken, though I think it'll only take a little bit of TLC to get it into shape, I just haven't paid any attention to some of the font metrics functions yet...
Runs nice; see how you can see the menu through it? That's not ... right ... but my Expedite... hack... is horrible, and is probably at fault. I'll write later today about the run loop issue that's keeping me from writing a proper Expedite backend, and maybe someone can help me!
Rectangles — yay! So you've probably noticed a theme by now — everything seems to be limited to right around 60fps. Wonder why? SO DO I! I turned off coalescing — that got lots of things from 30 to 60fps. I've seen the rectangles go to around 150fps, but I can't seem to duplicate that! Very very puzzling...
All done! More posts later!