Archive for category JavaScript

AS3 vs. JavaScript Performance Test Followup

Today’s article is a followup to an article I wrote in August comparing the performance of AS3 (Flash Player) and JavaScript (various browsers). Since then, two browsers have been updated to new versions and both have claimed speedups in their JavaScript implementations. Today’s article tests those new browser versions to see their speedups in the context of our benchmark: AS3.

Read the rest of this entry »

Tags:

9 Comments

For Vs. While

I’ve recently been seeing more and more usage of while loops by those who I presume are interested in performance. I’ve always assumed that these was not faster than for loops, but today I am finding out.

Read the rest of this entry »

Tags: , , ,

12 Comments

Faster isNaN()

You cannot directly check if a value is NaN by comparing with it. AS3, AS2, and JavaScript therefore provide a useful isNaN() function to do this very check. However, it is very slow. Today I’ll show you a workaround that results in a faster isNaN(): (UPDATE: see the definitive article on isNaN for much more!)

Read the rest of this entry »

Tags: ,

21 Comments

Flexible If Syntax

This article is sort of a follow-up to my article on Flexible Loop Syntax. This was reported to my by a coworker who spotted the anomaly. I guess he had done with if the same sort of thing that I had done with for. Read on for a little insight into how the comma operator interacts with the if statement.

Read the rest of this entry »

Tags: , , , ,

5 Comments

Repeatable Random

Everybody knows about Math.random(), and for good reason. It’s pretty much the way to get random numbers in AS3, AS2, and JavaScript other than bizarre alternatives like AS3′s BitmapData.noise(). However, it has one critical problem that arises when you want to repeat a certain test or prevent game cheaters from exploiting the randomizer until they get an “easy” setup or desirable outcome. This problem is the lack of repeatability.

Read the rest of this entry »

Tags:

10 Comments

Inline Math.ceil()

Math.ceil() is a common, mundane function that you likely call all the time. I know I do. If performance gets to be important and you have a Math.ceil() in some inner loop or frequently called function, consider inlining it. Below I’ll show you how and provide a test app showing you just how much CPU time you’ll save.

Read the rest of this entry »

Tags: , ,

10 Comments

With Blocks

While plainly documented by Adobe in the Flash 10 AS3 Docs, it seems as though few programmers know about the with statement. I don’t use them much personally, but when a coworker came across one in my code recently and was puzzled, I figured I would write a quick article to cover their usage.

Read the rest of this entry »

Tags: , , ,

4 Comments

Function Variables

AS3, AS2, and JavaScript have some strange rules regarding the initialization of variables. These are shocking and perhaps ridiculous to users of C and Java. This article covers one particularly insane quirk.

Read the rest of this entry »

Tags: ,

6 Comments

AS3 vs. JavaScript Performance Test

With the announcement of WebGL last Friday I started to wonder about the relative performance of AS3 and JavaScript. This is what I’ve found.

Read the rest of this entry »

Tags:

6 Comments

Fun With Dynamic Functions

Dynamic functions are a very useful feature of AS3 and JavaScript. Closures constantly come in handy for cleaner, more powerful code. Here’s a feature you might not know about them though.

Read the rest of this entry »

Tags:

No Comments