Chromium Code Reviews| Index: native_client_sdk/src/examples/demo/life_simd/example.js |
| diff --git a/native_client_sdk/src/examples/demo/life_simd/example.js b/native_client_sdk/src/examples/demo/life_simd/example.js |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..e71b16e059566be48d9527acba4d6b3ca0ac7ae9 |
| --- /dev/null |
| +++ b/native_client_sdk/src/examples/demo/life_simd/example.js |
| @@ -0,0 +1,51 @@ |
| +// Copyright (c) 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +function moduleDidLoad() { |
| +} |
| + |
| + |
| +// Add event listeners after the NaCl module has loaded. These listeners will |
| +// forward messages to the NaCl module via postMessage() |
| +function attachListeners() { |
| + document.getElementById('benchmark').addEventListener('click', |
| + function() { |
| + common.naclModule.postMessage({'message' : 'run_benchmark'}); |
| + common.updateStatus('BENCHMARKING... (please wait)'); |
| + }); |
| + document.getElementById('simd').addEventListener('click', |
| + function() { |
| + simd = document.getElementById('simd'); |
|
binji
2014/08/08 00:31:40
var simd
nfullagar
2014/08/08 20:51:48
Done.
|
| + common.naclModule.postMessage({'message' : 'set_simd', |
| + 'value' : simd.checked ? 'enable' : 'disable'}); |
|
binji
2014/08/08 00:31:40
probably simpler to just send a bool, rather than
nfullagar
2014/08/08 20:51:47
Done.
|
| + }); |
| + document.getElementById('multithread').addEventListener('click', |
| + function() { |
| + multithread = document.getElementById('multithread'); |
| + common.naclModule.postMessage({'message' : 'set_threading', |
| + 'value' : multithread.checked ? 'enable' : 'disable'}); |
| + }); |
| + document.getElementById('large').addEventListener('click', |
| + function() { |
| + large = document.getElementById('large'); |
| + nacl = document.getElementById('nacl_module'); |
| + nacl.setAttribute('width', large.checked ? 1280 : 640); |
| + nacl.setAttribute('height', large.checked ? 1024 : 640); |
| + }); |
| +} |
| + |
| + |
| +// Handle a message coming from the NaCl module. |
| +function handleMessage(message_event) { |
| + if (message_event.data['message'] == 'benchmark_result') { |
|
binji
2014/08/08 00:31:40
data.message is more conventional
nfullagar
2014/08/08 20:51:47
Done.
|
| + // benchmark result |
| + var result = message_event.data['value']; |
|
binji
2014/08/08 00:31:40
data.value
nfullagar
2014/08/08 20:51:48
Done.
|
| + console.log('Benchmark result:' + result); |
| + result = (Math.round(result * 1000) / 1000).toFixed(3); |
| + document.getElementById('result').textContent = |
| + 'Result: ' + result + ' seconds'; |
| + common.updateStatus('SUCCESS'); |
| + } |
| +} |
| + |