Updates, updates, updates…

Friday, May 29th, 2009 | Blog | No Comments

I finally got a chance to work on a few apps and update some problems people have run into.

.minerva
For .minerva I upgraded it’s support of AMF0 custom classes and typed objects. It now supports dragging and dropping files into the UI to speed up debugging.

.merlin
As for .merlin there were even more internal changes. I completely overhauled the Type1 support and it more thoroughly reads the font to extract the correct file name. I also fixed some bugs with the OTF parser. And finally, the one that annoyed me the most, was making it not lock the GUI while it was processing. So now if the application locks up then it probably really did mess up =).

Also just an FYI, I do make some updates to my other apps from time to time but it doesn’t show in the RSS. So please take a chance and check out if any of your favorite projects have been updated since last you checked. The latest version and date the app was published is at the top of ever post. Some of the more recent updates were to AIRadio, and TempoLite.

- gabe

Notes: AS3 Optimizations

Tuesday, April 7th, 2009 | Notes | 1 Comment

This page sort of expands upon the previous post I made on loop optimizations. I’m going to use this post in the future as a catchall for any other optimizations I run across. So for now I just have one to list, but hopefully in the future I’ll add some more.

Modifying a DisplayObject

Using a Matrix to modify a DisplayObject is faster than editing the individual properties.

	// 1 Million runs 2578ms, 2583ms, 2572ms
	spr.transform.matrix = new Matrix(spr.scaleX * 0.98, spr.scaleY * 0.98, 0, 0, spr.x + pt.x, spr.y + pt.y);
	

is faster than

	// 1 Million runs 3597ms, 3609ms, 3569ms
	spr.scaleX *= 0.98;
	spr.scaleY *= 0.98;
	spr.x += pt.x;
	spr.y += pt.y;
	

Tags:

Notes: AIR

Tuesday, April 7th, 2009 | Notes | No Comments

Some notes I’ve gathered over time in regards to AIR. As per usual, just posted up here for future reference.

Multiple Monitors

When building an app for multiple monitors, be sure to make use of the flash.display.Screen class. This class lets you iterate through all of the monitors available with access to the size and resolution of each. It also can tell you which is the primary monitor. Below is a useful function to grab the current screen.

	private function getCurrentScreen():Screen {
		return Screen.getScreensForRectangle(stage.nativeWindow.bounds)[0];
	}
	

› Continue reading

Tags:

Orion Particle Engine

Thursday, March 5th, 2009 | Projects | No Comments
Version 1.0.0, Updated March 4, 2009
  • Compatibility: Flash Player 9 and later (ActionScript 3.0)
  • File Size: About 2Mb
  • Usage Size: 5.5kb+

Download Now (1.0.0)

What’s New

  • Initial Release – Read below to find out more.

Description

Orion is an all around simple and flexible particle generator. I created Orion in order to have an easy method of creating and controlling particle effects. Orion is very fast and can handle thousands of particles and still keep frame rates high. It’s also very small weighing in at around 5.5kb.

› Continue reading

Tags: ,

Notes: Loop Optimizations

Tuesday, January 27th, 2009 | Notes | No Comments

Here is some testing I did to determine the best kind of loop to use in AS3. In the end the fastest I determined was a simple reverse while loop. Below is the results with the code for my testing beneath that. Where I could, I tried to run 1 million items in the collection. If I was unable to do that (the program would crash) I would run 500k items. From what I have learned, using the Array.forEach() is kinda expensive for what it does. Standard for() loops aren’t too bad, but the for…in() loops are even worse than the Array.forEach(). If you know of anything faster methods or maybe I tested incorrectly please let me know!
› Continue reading

Tags:

Search

Categories