So, I made fixes I mentioned in my last post. Plus I made everything as I could [Inline]. And this gave tremendous performance gain - up to +30%! Now I can handle 800 objects with 60 fps!
Показаны сообщения с ярлыком math. Показать все сообщения
Показаны сообщения с ярлыком math. Показать все сообщения
воскресенье, 28 сентября 2014 г.
четверг, 25 сентября 2014 г.
Planet Shooter. Physics 2.
In my last post I mentioned that using brute-force approach for collision detection I can handle 200 objects on my machine with 60 fps. My next step was to add some spatial structure for fast collisions.
воскресенье, 14 сентября 2014 г.
Planet Shooter. Physics.
Hi dear readers. Today I'm starting a series of posts about a game I'm working on in my free time. I'm seriously planning to release it. And here I'll write about my progress.
понедельник, 10 декабря 2012 г.
Rotations in 3D. Part 2 - Rotation in arbitrary point in space
Hi. Today I'll show you how to rotate 3D object about cardinal axis in arbitrary point in space.
пятница, 7 сентября 2012 г.
Rotations in 3D. Part 1 - Euler Angles.
Hello. Today I want to talk about rotations in 3D. I hope to cover several possibilities to rotate an object, so stay tuned. In first part I'll try to explain what the Euler Angles are.
четверг, 2 августа 2012 г.
Fast isEven() function
Just a note for myself...
This is a way I used to know if int is even or odd:
Also the best performance gain experienced if above code used inline. Calling a method like this
Upd.: method that you can find in comment below or here - great blog - is even faster. I definetely will use this approach.
This is a way I used to know if int is even or odd:
(i % 2) == 0;And here's a faster way
((i * 0.5) - (i >> 1)) == 0;I was afraid that first part
i * 0.5;can give 1.0000001, for example, due to round error. But it sems that integer numbers divided by 2 without presision lost. If someone have another information, please let me know.
Also the best performance gain experienced if above code used inline. Calling a method like this
private function isEven(i:int):Boolean{
return ((i * 0.5) - (i >> 1)) == 0;
}
is 10 times slower!Upd.: method that you can find in comment below or here - great blog - is even faster. I definetely will use this approach.
пятница, 13 июля 2012 г.
I don't need flash.geom.Matrix3D class anymore
I don't like native math classes for several reasons. For example, I don't have control over it and I can't say exactly is it my error or class implementation error when something going wrong. And according to this post Bugs in Vector3D and Matrix3D there're a lot of bugs. Also every matrix.transformVector() call creates new vector instance. Also in some cases I need 3x3 matrix instead of 4x4 for 3D math.
Подписаться на:
Сообщения (Atom)