1 | <!DOCTYPE html>
|
---|
2 | <html lang="en">
|
---|
3 | <body>
|
---|
4 |
|
---|
5 | <script src="../build/three.min.js"></script>
|
---|
6 | <script src="../examples/js/math/TypeArrayVector3.js"></script>
|
---|
7 |
|
---|
8 | <script>
|
---|
9 |
|
---|
10 | var Benchmark = function ( title, test ) {
|
---|
11 |
|
---|
12 | var titleDom = document.createElement( 'div' );
|
---|
13 | titleDom.style.fontWeight = 'bold';
|
---|
14 | titleDom.textContent = title;
|
---|
15 | document.body.appendChild( titleDom );
|
---|
16 |
|
---|
17 | var msDom = document.createElement( 'div' );
|
---|
18 | document.body.appendChild( msDom );
|
---|
19 |
|
---|
20 | this.run = function () {
|
---|
21 |
|
---|
22 | var start = performance.now();
|
---|
23 |
|
---|
24 | test();
|
---|
25 |
|
---|
26 | msDom.textContent = performance.now() - start;
|
---|
27 |
|
---|
28 | }
|
---|
29 |
|
---|
30 | };
|
---|
31 |
|
---|
32 |
|
---|
33 | var vector11 = new THREE.Vector3( 1.2, 2.3, 3.4 );
|
---|
34 | var vector12 = new THREE.Vector3( 1.2, 2.3, 3.4 );
|
---|
35 | var vector13 = new THREE.Vector3( 1.2, 2.3, 3.4 );
|
---|
36 |
|
---|
37 | var vector21 = new THREE.TypeArrayVector3( 1.2, 2.3, 3.4 );
|
---|
38 | var vector22 = new THREE.TypeArrayVector3( 1.2, 2.3, 3.4 );
|
---|
39 | var vector23 = new THREE.TypeArrayVector3( 1.2, 2.3, 3.4 );
|
---|
40 |
|
---|
41 | var benchmarks = [
|
---|
42 |
|
---|
43 | new Benchmark( 'new Vector3()', function () {
|
---|
44 |
|
---|
45 | for ( var i = 0; i < 10000; i ++ ) {
|
---|
46 |
|
---|
47 | var vector = new THREE.Vector3( 1, 1, 1 );
|
---|
48 |
|
---|
49 | }
|
---|
50 |
|
---|
51 | } ),
|
---|
52 |
|
---|
53 | new Benchmark( 'new TypeArrayVector3()', function () {
|
---|
54 |
|
---|
55 | for ( var i = 0; i < 10000; i ++ ) {
|
---|
56 |
|
---|
57 | var vector = new THREE.TypeArrayVector3( 1, 1, 1 );
|
---|
58 |
|
---|
59 | }
|
---|
60 |
|
---|
61 | } ),
|
---|
62 |
|
---|
63 | new Benchmark( 'Vector3 add()', function () {
|
---|
64 |
|
---|
65 | for ( var i = 0; i < 10000000; i ++ ) {
|
---|
66 |
|
---|
67 | vector11.add( vector12 );
|
---|
68 |
|
---|
69 | }
|
---|
70 |
|
---|
71 | } ),
|
---|
72 |
|
---|
73 | new Benchmark( 'TypeArrayVector3 add()', function () {
|
---|
74 |
|
---|
75 | for ( var i = 0; i < 10000000; i ++ ) {
|
---|
76 |
|
---|
77 | vector21.add( vector22 );
|
---|
78 |
|
---|
79 | }
|
---|
80 |
|
---|
81 | } ),
|
---|
82 |
|
---|
83 | new Benchmark( 'Vector3 addVectors()', function () {
|
---|
84 |
|
---|
85 | for ( var i = 0; i < 10000000; i ++ ) {
|
---|
86 |
|
---|
87 | vector11.addVectors( vector12, vector13 );
|
---|
88 |
|
---|
89 | }
|
---|
90 |
|
---|
91 | } ),
|
---|
92 |
|
---|
93 | new Benchmark( 'TypeArrayVector3 addVectors()', function () {
|
---|
94 |
|
---|
95 | for ( var i = 0; i < 10000000; i ++ ) {
|
---|
96 |
|
---|
97 | vector21.addVectors( vector22, vector23 );
|
---|
98 |
|
---|
99 | }
|
---|
100 |
|
---|
101 | } )
|
---|
102 |
|
---|
103 | ];
|
---|
104 |
|
---|
105 | function update () {
|
---|
106 |
|
---|
107 | vector11 = new THREE.Vector3( Math.random(), Math.random(), Math.random() );
|
---|
108 | vector12 = new THREE.Vector3( Math.random(), Math.random(), Math.random() );
|
---|
109 |
|
---|
110 | vector21 = new THREE.TypeArrayVector3().set( vector11.x, vector11.y, vector11.z );
|
---|
111 | vector22 = new THREE.TypeArrayVector3().set( vector12.x, vector12.y, vector12.z );
|
---|
112 |
|
---|
113 | for ( var i = 0, l = benchmarks.length; i < l; i ++ ) {
|
---|
114 |
|
---|
115 | benchmarks[ i ].run();
|
---|
116 |
|
---|
117 | }
|
---|
118 |
|
---|
119 | setTimeout( update, 2000 );
|
---|
120 |
|
---|
121 | }
|
---|
122 |
|
---|
123 | update();
|
---|
124 |
|
---|
125 | </script>
|
---|
126 |
|
---|
127 | </body>
|
---|
128 | </html>
|
---|