XScreenSaver 5.18

XScreenSaver 5.18 is out now. A bunch of iOS tweaks, mostly.

I had submitted 5.17 to the app store on June 22, and they only got around to reviewing it today -- July 3, 11 days later. They rejected it because a single one of the ~200 display modes failed to launch.

I just submitted 5.18 to the app store. I guess now I wait another two weeks.

I can tell this is going to go well.

If any of you reading this have influence with the Apple app-review process, it sure would be nice if you could use that influence.

I added a "review note" this time asking them not to be ridiculous, but I doubt they even read those.


With this version, all but three of the savers now work on iOS. The only ones missing are Extrusion (because it uses GLE and GLUT); WebCollage (because it's written in Perl, and thus impossible); and Lockward (because it's all screwed up).

I added a pretty significant optimization to jwzgles.c. When calling glBegin/glEnd, it was translating that to glVertexPointer/glDrawArrays. An optimization that was in there the first time around was that when that was inside of a display list, it was the glVertexPointer/glDrawArrays calls that were recorded in the list, not each call to glVertex3f. But that meant that it was still shipping the vertex array off to the GPU each time the list was played back. I changed it so that, upon reaching glEndList, it gathers up all of the verts, texture coordinates, etc. into a single VBO, ships that off to the GPU once with glBufferData, and on subsequent runs of the display list, refers to that VBO instead. This means display lists are really doing what they were meant to do: saving geometry on the GPU in an easy-to-replay way. A bit of housekeeping overhead aside, this should be as efficient as both A) the way display lists worked in the olden days, and B) what you would get if you rewrote your code and rolled your VBOs by hand.

Funny thing is, it literally came to me in a dream. The night before I had actually said to myself, "there, it's done" and closed Xcode. Then I had a dream where I was actually coding this up, Emacs keystrokes and all. The next night I sat down and, basically, re-typed it.

I don't have coding dreams that often, but when I do they're often like that. My subconscious sends me an email saying, "Hey jerk, go type this."

Previously, previously.

Tags: , , , , ,

8 Responses:

  1. Jason! says:

    I often dream in code when I'm working on something particularly engrossing or interesting or simply hard, but I've been doing more project management as of late, and caught myself dreaming in FrameMaker. I figure if I start dreaming in Visio or Excel it's time to switch jobs.

  2. Terry Weissman says:

    My experience with the app-submission process is that you can (at least sometimes) get a higher priority after you have been rejected, so that if you resubmit reasonably soon, you might be reviewed reasonably soon. At least, the one time I got rejected (because of an Apple bug on the iPad2, not my fault), they processed my revision pretty quickly.

  3. The app submission process is purposely broken - there is an automatic minimum of one week delay on app submissions. My guess is that they want people to be absolutely sure everything is perfect because the pain of submission is so bad no one wants to repeat it all the time.

    It's ridiculous that in 2012 we have to wait a week to get an app in the store, but people are used to it and Apple has no real incentive to change it.

  4. Ben says:

    Interesting yours took so much longer. Nearly all our submissions this year have been 7 days, with a couple 8.

  5. ryanlrussell says:

    Hey, free QA! Both in the app review process and in your dreams. :)

  6. Mario Gomez says:

    Very nice, Interesting yours took so much longer. Nearly all our submissions this year have been 7 days!

  7. Took nine days for us. Just got Ready for Sale, been waiting since the 25th. Not terrible, but not the best. (I've seen 5 days for updates.)

  8. mathew says:

    Clearly you have a much bigger tolerance for being jerked around than me. After a couple of iterations of trying to get my screensavers approved by Apple, I gave up and asked for my $99 back. I'm building Android apps now.

  • Previously