| OLD | NEW |
| 1 ########################## | 1 ########################## |
| 2 Frequently Asked Questions | 2 Frequently Asked Questions |
| 3 ########################## | 3 ########################## |
| 4 | 4 |
| 5 .. contents:: | 5 .. contents:: |
| 6 :local: | 6 :local: |
| 7 :backlinks: none | 7 :backlinks: none |
| 8 :depth: 2 | 8 :depth: 2 |
| 9 | 9 |
| 10 This document answers some frequently asked questions about Native | 10 This document answers some frequently asked questions about Native |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 * **Portability:** Developers and users don't need to worry about | 58 * **Portability:** Developers and users don't need to worry about |
| 59 already-released applications not working on new hardware: PNaCl | 59 already-released applications not working on new hardware: PNaCl |
| 60 already supports all architectures NaCl does, and as PNaCl evolves it | 60 already supports all architectures NaCl does, and as PNaCl evolves it |
| 61 gains support for new processors and fully uses their capabilities. | 61 gains support for new processors and fully uses their capabilities. |
| 62 | 62 |
| 63 .. TODO Expand on the PNaCl performance section in another document, and | 63 .. TODO Expand on the PNaCl performance section in another document, and |
| 64 .. link to it here. How does one profile PNaCl code? What are common | 64 .. link to it here. How does one profile PNaCl code? What are common |
| 65 .. causes of slowness? How can code be made faster? What's the best way | 65 .. causes of slowness? How can code be made faster? What's the best way |
| 66 .. to use Pepper's asynchronous APIs? What do I need to know about | 66 .. to use Pepper's asynchronous APIs? What do I need to know about |
| 67 .. threads and inter-thread communications? Can I use SIMD or other | 67 .. threads and inter-thread communications? Can I use SIMD or other |
| 68 .. processor-specific instructions? What aboutt he GPU? | 68 .. processor-specific instructions? What about the GPU? |
| 69 | 69 |
| 70 For more details, refer to the :doc:`history behind and comparison of | 70 For more details, refer to the :doc:`history behind and comparison of |
| 71 NaCl and PNaCl <nacl-and-pnacl>`. | 71 NaCl and PNaCl <nacl-and-pnacl>`. |
| 72 | 72 |
| 73 When should I use Native Client? | 73 When should I use Native Client? |
| 74 -------------------------------- | 74 -------------------------------- |
| 75 | 75 |
| 76 The following are some typical use cases. For details, see the | 76 The following are some typical use cases. For details, see the |
| 77 :doc:`Technical Overview <overview>`. | 77 :doc:`Technical Overview <overview>`. |
| 78 | 78 |
| (...skipping 27 matching lines...) Expand all Loading... |
| 106 | x86-64 | 25% | | 106 | x86-64 | 25% | |
| 107 +--------+-----+ | 107 +--------+-----+ |
| 108 | ARM | 10% | | 108 | ARM | 10% | |
| 109 +--------+-----+ | 109 +--------+-----+ |
| 110 | 110 |
| 111 Note that benchmark performance is sometimes bimodal, so different use | 111 Note that benchmark performance is sometimes bimodal, so different use |
| 112 cases are likely to achieve better or worse performance than the above | 112 cases are likely to achieve better or worse performance than the above |
| 113 averages. For example floating-point heavy code usually exhibits much | 113 averages. For example floating-point heavy code usually exhibits much |
| 114 lower overheads whereas very branch-heavy code often performs worse. | 114 lower overheads whereas very branch-heavy code often performs worse. |
| 115 | 115 |
| 116 Note that PNaCl supports performance features that are often used in |
| 117 native code such as :ref:`threading <language_support_threading>` and |
| 118 :ref:`Portable SIMD Vectors <portable_simd_vectors>`. |
| 119 |
| 116 For details, see: | 120 For details, see: |
| 117 | 121 |
| 118 * `Adapting Software Fault Isolation to Contemporary CPU Architectures | 122 * `Adapting Software Fault Isolation to Contemporary CPU Architectures |
| 119 <https://nativeclient.googlecode.com/svn/data/site/NaCl_SFI.pdf>`_ (PDF). | 123 <https://nativeclient.googlecode.com/svn/data/site/NaCl_SFI.pdf>`_ (PDF). |
| 120 * `Native Client: A Sandbox for Portable, Untrusted x86 Code | 124 * `Native Client: A Sandbox for Portable, Untrusted x86 Code |
| 121 <http://research.google.com/pubs/pub34913.html>`_ (PDF). | 125 <http://research.google.com/pubs/pub34913.html>`_ (PDF). |
| 122 | 126 |
| 123 If your code isn't performing as close to native speed as you'd expect, | 127 If your code isn't performing as close to native speed as you'd expect, |
| 124 :doc:`let us know <help>`! | 128 :doc:`let us know <help>`! |
| 125 | 129 |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 264 NPAPI is not supported by the Native Client SDK, and is `deprecated in | 268 NPAPI is not supported by the Native Client SDK, and is `deprecated in |
| 265 Chrome | 269 Chrome |
| 266 <http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html>`_
. | 270 <http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html>`_
. |
| 267 | 271 |
| 268 Does Native Client support SIMD vector instructions? | 272 Does Native Client support SIMD vector instructions? |
| 269 ---------------------------------------------------- | 273 ---------------------------------------------------- |
| 270 | 274 |
| 271 Native Client currently supports SSE on x86 and NEON on ARM. Support for | 275 Native Client currently supports SSE on x86 and NEON on ARM. Support for |
| 272 AVX on x86 is under way. | 276 AVX on x86 is under way. |
| 273 | 277 |
| 274 Portable Native Client should support SIMD vectors in the near future. | 278 Portable Native Client supports portable SIMD vectors, as detailed in |
| 279 :ref:`Portable SIMD Vectors <portable_simd_vectors>`. |
| 275 | 280 |
| 276 Can I use Native Client for 3D graphics? | 281 Can I use Native Client for 3D graphics? |
| 277 ---------------------------------------- | 282 ---------------------------------------- |
| 278 | 283 |
| 279 Yes. Native Client supports `OpenGL ES 2.0 | 284 Yes. Native Client supports `OpenGL ES 2.0 |
| 280 <https://www.khronos.org/opengles/>`_. | 285 <https://www.khronos.org/opengles/>`_. |
| 281 | 286 |
| 282 To alert the user regarding their hardware platform's 3D feature set | 287 To alert the user regarding their hardware platform's 3D feature set |
| 283 before loading a large NaCl application, see :doc:`Vetting the driver in | 288 before loading a large NaCl application, see :doc:`Vetting the driver in |
| 284 Javascript <devguide/coding/3D-graphics>`. | 289 Javascript <devguide/coding/3D-graphics>`. |
| (...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 562 you're loading the correct ``.nexe`` file by building a separate | 567 you're loading the correct ``.nexe`` file by building a separate |
| 563 ``.nexe`` for each architecture, and using a ``.nmf`` manifest file to | 568 ``.nexe`` for each architecture, and using a ``.nmf`` manifest file to |
| 564 let the browser select the correct ``.nexe`` file. Note: the need to | 569 let the browser select the correct ``.nexe`` file. Note: the need to |
| 565 select a processor-specific ``.nexe`` goes away with Portable Native | 570 select a processor-specific ``.nexe`` goes away with Portable Native |
| 566 Client. | 571 Client. |
| 567 * If things still aren't working, :doc:`ask for help <help>`! | 572 * If things still aren't working, :doc:`ask for help <help>`! |
| 568 | 573 |
| 569 .. _CORS: http://en.wikipedia.org/wiki/Cross-origin_resource_sharing | 574 .. _CORS: http://en.wikipedia.org/wiki/Cross-origin_resource_sharing |
| 570 .. _naclports: https://code.google.com/p/naclports | 575 .. _naclports: https://code.google.com/p/naclports |
| 571 .. _Crouton: https://github.com/dnschneid/crouton | 576 .. _Crouton: https://github.com/dnschneid/crouton |
| OLD | NEW |