Reaction to 'System Requirements'

Written by Psychic Symphony

There are new possibilities with faster processors. New 3D effects to be implemented, bigger resolutions, more colours, more layers of effects on top of each other. People got tired of Assembly. People code in C now. It is not about the speed of the effect nowdays, it's about originality, having design and breaking barriers. Barriers of sound and image. Code is not what it was like on older machines. Nowdays it's about syncing the stuff, compressing. Not speed!

You think like that because you don't seem to realize the number of calculus the processor has to do for 70 frames per second. Let me try to explain...

A rotozoomer, it seems so easy and oldskool, no? Let us go through it then...

Let us pick the current "elite" resolution... 640*480. What we need to do is go through 640*480 values and apply the equation on every single one to point back to your texture!

I am not going to write about optimizing by using sines/cosines tables and using fixed-point and such... Let us just do some math...


So you have to calculate 307200 values 70 times just in one second to have a smooth looking rotozoomer!

This is just a rotozoomer!!! Now imagine doing 3D, having to calc every texture position, sorting textures, so that you put only those to screen which are really visible. Plus you have particles, let us say 200 of them, and you need to sort them too! You can't have particles on top of texture while it is supposed to be behind now, can you? Add the 3 points of each texture rotation and displacement to this. Don't forget to apply some cool looking effect to the textures like Gauss interpolation or bluring... Just think on how many calculus the processor needs to do 70 times per second (so that it looks smooth!)

Oh! And don't forget the music being real-time mixed which wastes about 20% of the processor's capabilities!

People sometimes don't realize what miracle it is for certain demos even to work on 35fps!

The problem in here is that others assume everyone can optimize their code. It is not that easy, it takes lots of brainstorm and years of practise to obtain the common sense to write this one line which speeds up your routine! The more you code the more you notice how you were doing things wrong. It is like a step in evolution. Still coders try to go even further and create new effects. The reason you never seen it before might not be because no one though of them but because they didn't optimize enough to actually display them on the half framerate! Hopefully new processors help!

See if old demos had today's effects! No way! You think they were all dummies and never thought about them? No! They knew their limits!

Don't judge a book by its cover. Read it a little.

Psychic Symphony