Darknoon

Darknoon Blog

29 Jun 2009

Core Animation debug mode

If you’re into optimizing scrolling or drawing performance on the iPhone, then you know that blended layers (ie, non-opaque) can really slow things down. Sometimes it’s hard to know what is opaque and what is being blended, however.

The good news is that there is a tool for this! You can easily get a visual readout of all of the layers in your app and their blending. Here is an example:

The red areas are being blended, whereas the green areas are totally opaque, giving the best performance.

Here’s how to set it up:

Debug Mode On-Device

Open up the Instruments tool, and select an iPhone or iPod touch as the applicable device, then add a new Core Animation instrument.

You’ll then need to show Detail (View > Detail, or the button in the bottom bar). Then there is a checkbox for “Color blended layers.” This is what you want.

Your iPhone or iPod Touch should now switch into red-green mode. This setting is persistent, so you can detach your phone and use it now. To disable, attach to Instruments again and uncheck the box or restart the phone.

Debug Mode in Simulator

Turns out, there is an easier way! You can do all of this fun in the simulator. Just launch it with the CA_COLOR_OPAQUE environment variable set:

CA_COLOR_OPAQUE=1 /Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/iPhone\ Simulator.app/Contents/MacOS/iPhone\ Simulator

And, boom! You can now run your apps as usual using Xcode and they’ll show up in the simulator with color blended layers enabled. To disable it, just quit and relaunch Simulator.

—Andrew Pouliot  

8 Dec 2008

Deconstructing Classics.app

Last week, in Peeking Into iPhone Apps, I talked about the process by which the contents of an App bundle can be read and deciphered. In this post, I’m going to take a look at one application in particular: Classics.
 
While there have been blog posts about designing Classics, I wanted to know about its implementation, so I did a little research.

(more…)

—Andrew Pouliot  

26 Nov 2008

Peeking into iPhone Apps

Ever seen an interesting effect in a third party app and wondered how it worked? Want to check out how another app stores its resources? Here’s the step-by-step on how to go about doing it.

(more…)

—Andrew Pouliot  

3 Aug 2008

iPhone Dev Camp

Just wrapped up over at Jive, who hosted the iphonedevcamp pdx satellite. It was great to be able to participate in the conference despite being up here.

Us pdxers developed an app to procedurally generate wallpaper images.

 

I presented it, but the presentation was difficult as I couldn’t see the audience or hear anything and we had to try countless things to get Adobe Connect to work.

We ended up with “best satellite app” for our effort.

Other winners are listed here.

[UPDATE: added screenshots]
[UPDATE: added result]

—Andrew Pouliot  

2 Aug 2008

Propagate at iPhoneDevCamp 2 Portland

I will be giving a semi-public demo of Propagate today at iPhoneDevCamp 2 Portland somewhere around 3pm.

If you’re interested in beta testing, I suggest attending.

—Andrew Pouliot  

8 Jul 2008

New website, blog.

Okay, the old darknoon site was great for just me and some small code projects, but the next step for darknoon is going to be much bigger. That starts here.

I redesigned the webpage with cues from Apple and the current status quo among Mac and iPhone developers to inform my design style. Simplicity, materiality (textured metal), space, and shadow are the key visual concepts.

As I plan to have actual paying customers, I’m going to make sure it renders nicely in IE 6 & 7 for a change. I’ll go find a windows machine to test on (note: yes, if I’m making a web page for a client I do make sure of this too). I figure that there will be a decent percentage of windows users who will be interested in my iPhone software and I wouldn’t want to leave them out in the cold for a good experience getting support or more information (it would also be nice if they bought my software).

The first page to go up is the blog because it doesn’t contain spoilers about Propagate (yet). Soon, the front page and other stuff will follow.

—Andrew Pouliot  

1 Jul 2008

Less than 10 days

My handy countdown clock tells me that there are less than 10 days until the July 11th release of the iPhone 3G, and more importantly, the iPhone 2.0 firmware.

Yay / eep, time to start beating the elves to get them to code faster so I’ll have Propagate ready by then!

[UPDATE: heh, looks like propagate took a bit longer than expected… but hey, it's going to rock, so there.]

—admin  

26 Jun 2008

‘58 to ‘08

A great example of visual algorithmic design in the vein of clever old advertising. very clever.

I wonder if The Nonist’s posting about The Graphis annual ‘57–’58 had anything to do with it.

 


Tetracyts from brew on Vimeo.

—admin  

20 May 2008

Back from Abroad, iPhone Development

So, I’m finally back from my travels, which means programming. I’ve been away from the ol’ keyboard and Xcode for four months, and in the meantime, the iPhone SDK has come out. Time to get cracking.

First item, I ported yellowtail to the iPhone SDK. Was ok, though OpenGL ES seems to lack GL_QUADS, which is annoying, given the way the program is written. Gar, I should have ported my recode instead of the version I had based on the original code. Anyway, it works at the moment; as I don’t have an API key, I’ll have to wait for performance data until the SDK goes public….

Next, learning the other parts of the api, coding back-end stuff for various projects….

—admin  

30 Dec 2007

Playing with Yellowtail

I heart QC. Using the plugin I posted before with zoom blur. Scale down before applying blur for decent performance.

—admin  
©2008 Darknoon / Andrew Pouliot