Physics engines/Speed tests: Difference between revisions
Jump to navigation
Jump to search
Crazy-chris (talk | contribs) m (init) |
m (Physic Engines/Speed Tests moved to Physics engines/Speed tests: Proper capitalization/parent move) |
||
(7 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Image:Graph.png]] |
|||
[[Image:Graph_circles.png]] |
|||
''(''''not drawing'''' means that only the physics calulations are done, but no pygame drawing)'' |
|||
'''Please Note:''' The tests were done with Python, and box2d's implementation with SWIG might have an edge on chipmunk's CTypes bindings. |
|||
Info: |
Info: |
||
- Tested with Python 2.5, and the latest engine releases as of March 17., 2008 |
|||
⚫ | |||
- Tested by Joshua Minor and Chris Hager, March 17., 2008 |
|||
⚫ | |||
- Timings are average after 10 times |
|||
- In test3, 4, 5 and 6, the FPS are captured to the console all 2 seconds |
|||
- by pressing "1", 25 balls will be added and the element count printed to console |
|||
Line 12: | Line 21: | ||
======================================================================= |
======================================================================= |
||
Test1 |
Test1 - Librariy Loadtime |
||
===== |
========================= |
||
1. Loading Library |
1. Loading Library |
||
2. Creating A |
2. Creating A WorldFPS WITH Gravity |
||
Box2d: |
Box2d: |
||
Line 28: | Line 37: | ||
Test 2 |
Test 2 - Balls: 40 fps, 5 iterations |
||
====== |
==================================== |
||
1. U Shaped World |
1. U Shaped World |
||
2. Ball radius = 10px |
2. Ball radius = 10px |
||
x. 40.0 fps, 5 iterations per update |
x. 40.0 fps, 5 iterations per update |
||
WITH DRAWING |
FPS WITH DRAWING FPS WITHOUT DRAWING (test2-2.py) |
||
Balls / FPS Box2d Chipmunk Box2d Chipmunk |
Balls / FPS Box2d Chipmunk Box2d Chipmunk |
||
0 40 40 40 40 |
0 40 40 40 40 |
||
Line 43: | Line 52: | ||
Test 3 |
Test 3 - Balls: 40 fps, 10 iterations |
||
====== |
===================================== |
||
1. Wide ground, small 50px stoppers left and right |
1. Wide ground, small 50px stoppers left and right |
||
2. Ball radius = 10px |
2. Ball radius = 10px |
||
x. 40.0 fps, 10 iterations per update |
x. 40.0 fps, 10 iterations per update |
||
WITH DRAWING |
FPS WITH DRAWING FPS WITHOUT DRAWING (test3-2.py) |
||
Balls / FPS Box2d Chipmunk Box2d Chipmunk |
Balls / FPS Box2d Chipmunk Box2d Chipmunk |
||
0 40 40 40 40 |
0 40 40 40 40 |
||
Line 59: | Line 68: | ||
Test 4 |
Test 4 - Balls: 50 fps, 10 iterations |
||
====== |
===================================== |
||
1. Wide ground, small 50px stoppers left and right |
1. Wide ground, small 50px stoppers left and right |
||
2. Ball radius = 10px |
2. Ball radius = 10px |
||
x. 50.0 fps, 10 iterations per update |
x. 50.0 fps, 10 iterations per update |
||
WITH DRAWING |
FPS WITH DRAWING FPS WITHOUT DRAWING (test4-2.py) |
||
Balls / FPS Box2d Chipmunk Box2d Chipmunk |
Balls / FPS Box2d Chipmunk Box2d Chipmunk |
||
0 50 50 50 50 |
0 50 50 50 50 |
||
Line 75: | Line 84: | ||
Test 5 - Squares: 40 fps, 10 iterations |
|||
======================================= |
|||
1. Wide ground, small 50px stoppers left and right |
|||
2. Square side = 20px |
|||
x. 40.0 fps, 10 iterations per update |
|||
FPS WITH DRAWING FPS WITHOUT DRAWING |
|||
Squares / FPS Box2d Chipmunk Box2d Chipmunk |
|||
0 40 40 40 40 |
|||
100 40 40 40 40 |
|||
150 34 30 40 40 |
|||
200 28 24 40 40 |
|||
250 22 19 40 40 |
|||
300 19 17 40 40 |
|||
350 16 14 40 38 |
|||
400 - - 40 33 |
|||
500 - - 40 25 |
|||
Test 6 - Squares: 50 fps, 10 iterations |
|||
======================================= |
|||
1. Wide ground, small 50px stoppers left and right |
|||
2. Square side = 20px |
|||
x. 50.0 fps, 10 iterations per update |
|||
FPS WITH DRAWING FPS WITHOUT DRAWING (test4-2.py) |
|||
Squares / FPS Box2d Chipmunk Box2d Chipmunk |
|||
0 50 50 50 50 |
|||
50 50 49 50 50 |
|||
100 43 40 50 50 |
|||
150 32 30 50 50 |
|||
200 26 24 50 50 |
|||
250 21 20 50 50 |
|||
300 18 16 50 50 |
|||
350 15 14 50 38 |
|||
400 - - 50 33 |
|||
500 - - 50 24 |
|||
TESTS ON THE XO LAPTOP |
TESTS ON THE XO LAPTOP |
||
> Linux 2.6.22-20071121.7.olpc, B4, Build 650 |
> Linux 2.6.22-20071121.7.olpc, B4, Build 650 |
||
> AMD |
> AMD GeodeFPS WITH 431.222 MHz, 128 KB Cache, 256 MB RAM |
||
============================================================ |
============================================================ |
||
Test 3 |
Test 3 - Balls: 40 fps, 10 iterations |
||
====== |
===================================== |
||
1. Wide ground, small 50px stoppers left and right |
1. Wide ground, small 50px stoppers left and right |
||
2. Ball radius = 10px |
2. Ball radius = 10px |
||
x. 40.0 fps, 10 iterations per update |
x. 40.0 fps, 10 iterations per update |
||
WITH DRAWING |
FPS WITH DRAWING FPS WITHOUT DRAWING (test3-2.py) |
||
Balls / FPS Box2d Chipmunk Box2d Chipmunk |
Balls / FPS Box2d Chipmunk Box2d Chipmunk |
||
0 40 40 40 40 |
0 40 40 40 40 |
||
Line 95: | Line 143: | ||
125 - - 40 12 |
125 - - 40 12 |
||
Test 4 - Balls: 50 fps, 10 iterations |
|||
====== |
|||
===================================== |
|||
1. Wide ground, small 50px stoppers left and right |
1. Wide ground, small 50px stoppers left and right |
||
2. Ball radius = 10px |
2. Ball radius = 10px |
||
x. 50.0 fps, 10 iterations per update |
x. 50.0 fps, 10 iterations per update |
||
WITH DRAWING |
FPS WITH DRAWING FPS WITHOUT DRAWING (test4-2.py) |
||
Balls / FPS Box2d Chipmunk Box2d Chipmunk |
Balls / FPS Box2d Chipmunk Box2d Chipmunk |
||
0 50 50 50 50 |
0 50 50 50 50 |
||
25 42 28 50 50 |
25 42 28 50 50 |
||
50 27 19 50 35 |
50 27 19 50 35 |
||
75 20 13 50 24 |
75 20 13 50 24 |
||
100 16 9 50 18 |
100 16 9 50 18 |
||
125 - - 50 16 |
125 - - 50 16 |
||
150 - - 50 12 |
150 - - 50 12 |
||
Test 5 - Squares: 40 fps, 10 iterations |
|||
======================================= |
|||
1. Wide ground, small 50px stoppers left and right |
|||
2. Square side = 20px |
|||
x. 40.0 fps, 10 iterations per update |
|||
FPS WITH DRAWING FPS WITHOUT DRAWING |
|||
Squares Box2d Chipmunk Box2d Chipmunk |
|||
0 40 40 40 40 |
|||
6 40 29 40 40 |
|||
12 34 20 40 40 |
|||
18 27 15 40 40 |
|||
24 22 13 40 40 |
|||
30 20 9 40 39 |
|||
36 16 8 40 32 |
|||
42 14 7 40 28 |
|||
48 12 5 40 26 |
|||
54 11 4 39 22 |
|||
60 - - 38 19 |
|||
66 - - 34 18 |
|||
72 - - 30 15 |
|||
78 - - 28 13 |
|||
[[category:software]] |
|||
[[category:physics]] |
Latest revision as of 20:33, 9 July 2008
('not drawing' means that only the physics calulations are done, but no pygame drawing)
Please Note: The tests were done with Python, and box2d's implementation with SWIG might have an edge on chipmunk's CTypes bindings.
Info: - Tested with Python 2.5, and the latest engine releases as of March 17., 2008 - Tested by Joshua Minor and Chris Hager, March 17., 2008 - Source Codes: http://svn2.assembla.com/svn/elements/speedtest/ - In test3, 4, 5 and 6, the FPS are captured to the console all 2 seconds - by pressing "1", 25 balls will be added and the element count printed to console TEST ON AN AMD64 SYSTEM > Linux 2.6.19-gentoo-r5 #1 SMP Tue Jul 31 09:51:33 CEST 2007 > x86_64 AMD Athlon(tm) 64 Processor 3200+ AuthenticAMD GNU/Linux ======================================================================= Test1 - Librariy Loadtime ========================= 1. Loading Library 2. Creating A WorldFPS WITH Gravity Box2d: real 0m0.054s user 0m0.028s sys 0m0.008s Chipmunk: real 0m0.080s user 0m0.052s sys 0m0.012s Test 2 - Balls: 40 fps, 5 iterations ==================================== 1. U Shaped World 2. Ball radius = 10px x. 40.0 fps, 5 iterations per update FPS WITH DRAWING FPS WITHOUT DRAWING (test2-2.py) Balls / FPS Box2d Chipmunk Box2d Chipmunk 0 40 40 40 40 200 39 39 40 40 300 32 34 40 40 400 26 27 40 40 500 23 23 40 40 Test 3 - Balls: 40 fps, 10 iterations ===================================== 1. Wide ground, small 50px stoppers left and right 2. Ball radius = 10px x. 40.0 fps, 10 iterations per update FPS WITH DRAWING FPS WITHOUT DRAWING (test3-2.py) Balls / FPS Box2d Chipmunk Box2d Chipmunk 0 40 40 40 40 100 40 40 40 40 200 39 39 40 40 300 32 30 40 40 400 26 22 40 40 500 22 18 40 32 Test 4 - Balls: 50 fps, 10 iterations ===================================== 1. Wide ground, small 50px stoppers left and right 2. Ball radius = 10px x. 50.0 fps, 10 iterations per update FPS WITH DRAWING FPS WITHOUT DRAWING (test4-2.py) Balls / FPS Box2d Chipmunk Box2d Chipmunk 0 50 50 50 50 100 50 50 50 50 200 45 41 50 50 300 33 30 50 49 400 27 24 49 40 500 21 19 49 33 Test 5 - Squares: 40 fps, 10 iterations ======================================= 1. Wide ground, small 50px stoppers left and right 2. Square side = 20px x. 40.0 fps, 10 iterations per update FPS WITH DRAWING FPS WITHOUT DRAWING Squares / FPS Box2d Chipmunk Box2d Chipmunk 0 40 40 40 40 100 40 40 40 40 150 34 30 40 40 200 28 24 40 40 250 22 19 40 40 300 19 17 40 40 350 16 14 40 38 400 - - 40 33 500 - - 40 25 Test 6 - Squares: 50 fps, 10 iterations ======================================= 1. Wide ground, small 50px stoppers left and right 2. Square side = 20px x. 50.0 fps, 10 iterations per update FPS WITH DRAWING FPS WITHOUT DRAWING (test4-2.py) Squares / FPS Box2d Chipmunk Box2d Chipmunk 0 50 50 50 50 50 50 49 50 50 100 43 40 50 50 150 32 30 50 50 200 26 24 50 50 250 21 20 50 50 300 18 16 50 50 350 15 14 50 38 400 - - 50 33 500 - - 50 24 TESTS ON THE XO LAPTOP > Linux 2.6.22-20071121.7.olpc, B4, Build 650 > AMD GeodeFPS WITH 431.222 MHz, 128 KB Cache, 256 MB RAM ============================================================ Test 3 - Balls: 40 fps, 10 iterations ===================================== 1. Wide ground, small 50px stoppers left and right 2. Ball radius = 10px x. 40.0 fps, 10 iterations per update FPS WITH DRAWING FPS WITHOUT DRAWING (test3-2.py) Balls / FPS Box2d Chipmunk Box2d Chipmunk 0 40 40 40 40 25 40 28 40 40 50 27 16 40 35 75 21 15 40 23 100 15 10 40 16 125 - - 40 12 Test 4 - Balls: 50 fps, 10 iterations ===================================== 1. Wide ground, small 50px stoppers left and right 2. Ball radius = 10px x. 50.0 fps, 10 iterations per update FPS WITH DRAWING FPS WITHOUT DRAWING (test4-2.py) Balls / FPS Box2d Chipmunk Box2d Chipmunk 0 50 50 50 50 25 42 28 50 50 50 27 19 50 35 75 20 13 50 24 100 16 9 50 18 125 - - 50 16 150 - - 50 12 Test 5 - Squares: 40 fps, 10 iterations ======================================= 1. Wide ground, small 50px stoppers left and right 2. Square side = 20px x. 40.0 fps, 10 iterations per update FPS WITH DRAWING FPS WITHOUT DRAWING Squares Box2d Chipmunk Box2d Chipmunk 0 40 40 40 40 6 40 29 40 40 12 34 20 40 40 18 27 15 40 40 24 22 13 40 40 30 20 9 40 39 36 16 8 40 32 42 14 7 40 28 48 12 5 40 26 54 11 4 39 22 60 - - 38 19 66 - - 34 18 72 - - 30 15 78 - - 28 13