OLD | NEW |
1 {{+bindTo:partials.standard_nacl_article}} | 1 {{+bindTo:partials.standard_nacl_article}} |
2 | 2 |
3 <section id="frequently-asked-questions"> | 3 <section id="frequently-asked-questions"> |
4 <h1 id="frequently-asked-questions">Frequently Asked Questions</h1> | 4 <h1 id="frequently-asked-questions">Frequently Asked Questions</h1> |
5 <div class="contents local" id="contents" style="display: none"> | 5 <div class="contents local" id="contents" style="display: none"> |
6 <ul class="small-gap"> | 6 <ul class="small-gap"> |
7 <li><p class="first"><a class="reference internal" href="#what-is-native-client-
good-for" id="id3">What is Native Client Good For?</a></p> | 7 <li><p class="first"><a class="reference internal" href="#what-is-native-client-
good-for" id="id3">What is Native Client Good For?</a></p> |
8 <ul class="small-gap"> | 8 <ul class="small-gap"> |
9 <li><a class="reference internal" href="#why-did-google-build-native-client" id=
"id4">Why did Google build Native Client?</a></li> | 9 <li><a class="reference internal" href="#why-did-google-build-native-client" id=
"id4">Why did Google build Native Client?</a></li> |
10 <li><a class="reference internal" href="#when-should-i-use-native-client" id="id
5">When should I use Native Client?</a></li> | 10 <li><a class="reference internal" href="#when-should-i-use-native-client" id="id
5">When should I use Native Client?</a></li> |
(...skipping 150 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
161 </tr> | 161 </tr> |
162 <tr class="row-odd"><td>ARM</td> | 162 <tr class="row-odd"><td>ARM</td> |
163 <td>10%</td> | 163 <td>10%</td> |
164 </tr> | 164 </tr> |
165 </tbody> | 165 </tbody> |
166 </table> | 166 </table> |
167 <p>Note that benchmark performance is sometimes bimodal, so different use | 167 <p>Note that benchmark performance is sometimes bimodal, so different use |
168 cases are likely to achieve better or worse performance than the above | 168 cases are likely to achieve better or worse performance than the above |
169 averages. For example floating-point heavy code usually exhibits much | 169 averages. For example floating-point heavy code usually exhibits much |
170 lower overheads whereas very branch-heavy code often performs worse.</p> | 170 lower overheads whereas very branch-heavy code often performs worse.</p> |
| 171 <p>Note that PNaCl supports performance features that are often used in |
| 172 native code such as <a class="reference internal" href="/native-client/reference
/pnacl-c-cpp-language-support.html#language-support-threading"><em>threading</em
></a> and |
| 173 <a class="reference internal" href="/native-client/reference/pnacl-c-cpp-languag
e-support.html#portable-simd-vectors"><em>Portable SIMD Vectors</em></a>.</p> |
171 <p>For details, see:</p> | 174 <p>For details, see:</p> |
172 <ul class="small-gap"> | 175 <ul class="small-gap"> |
173 <li><a class="reference external" href="https://nativeclient.googlecode.com/svn/
data/site/NaCl_SFI.pdf">Adapting Software Fault Isolation to Contemporary CPU Ar
chitectures</a> (PDF).</li> | 176 <li><a class="reference external" href="https://nativeclient.googlecode.com/svn/
data/site/NaCl_SFI.pdf">Adapting Software Fault Isolation to Contemporary CPU Ar
chitectures</a> (PDF).</li> |
174 <li><a class="reference external" href="http://research.google.com/pubs/pub34913
.html">Native Client: A Sandbox for Portable, Untrusted x86 Code</a> (PDF).</li> | 177 <li><a class="reference external" href="http://research.google.com/pubs/pub34913
.html">Native Client: A Sandbox for Portable, Untrusted x86 Code</a> (PDF).</li> |
175 </ul> | 178 </ul> |
176 <p>If your code isn’t performing as close to native speed as you’d e
xpect, | 179 <p>If your code isn’t performing as close to native speed as you’d e
xpect, |
177 <a class="reference internal" href="/native-client/help.html"><em>let us know</e
m></a>!</p> | 180 <a class="reference internal" href="/native-client/help.html"><em>let us know</e
m></a>!</p> |
178 </section><section id="why-use-portable-native-client-instead-of-technology-x"> | 181 </section><section id="why-use-portable-native-client-instead-of-technology-x"> |
179 <h3 id="why-use-portable-native-client-instead-of-technology-x">Why use Portable
Native Client instead of <em><technology X></em>?</h3> | 182 <h3 id="why-use-portable-native-client-instead-of-technology-x">Why use Portable
Native Client instead of <em><technology X></em>?</h3> |
180 <p>Many other technologies can be compared to Portable Native Client: | 183 <p>Many other technologies can be compared to Portable Native Client: |
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
270 handling, out-of-process plugins, and asynchronous interfaces. Native | 273 handling, out-of-process plugins, and asynchronous interfaces. Native |
271 Client has transitioned from using NPAPI to using Pepper.</p> | 274 Client has transitioned from using NPAPI to using Pepper.</p> |
272 </section><section id="is-npapi-part-of-the-native-client-sdk"> | 275 </section><section id="is-npapi-part-of-the-native-client-sdk"> |
273 <h3 id="is-npapi-part-of-the-native-client-sdk">Is NPAPI part of the Native Clie
nt SDK?</h3> | 276 <h3 id="is-npapi-part-of-the-native-client-sdk">Is NPAPI part of the Native Clie
nt SDK?</h3> |
274 <p>NPAPI is not supported by the Native Client SDK, and is <a class="reference e
xternal" href="http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend
-npapi.html">deprecated in | 277 <p>NPAPI is not supported by the Native Client SDK, and is <a class="reference e
xternal" href="http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend
-npapi.html">deprecated in |
275 Chrome</a>.</p> | 278 Chrome</a>.</p> |
276 </section><section id="does-native-client-support-simd-vector-instructions"> | 279 </section><section id="does-native-client-support-simd-vector-instructions"> |
277 <h3 id="does-native-client-support-simd-vector-instructions">Does Native Client
support SIMD vector instructions?</h3> | 280 <h3 id="does-native-client-support-simd-vector-instructions">Does Native Client
support SIMD vector instructions?</h3> |
278 <p>Native Client currently supports SSE on x86 and NEON on ARM. Support for | 281 <p>Native Client currently supports SSE on x86 and NEON on ARM. Support for |
279 AVX on x86 is under way.</p> | 282 AVX on x86 is under way.</p> |
280 <p>Portable Native Client should support SIMD vectors in the near future.</p> | 283 <p>Portable Native Client supports portable SIMD vectors, as detailed in |
| 284 <a class="reference internal" href="/native-client/reference/pnacl-c-cpp-languag
e-support.html#portable-simd-vectors"><em>Portable SIMD Vectors</em></a>.</p> |
281 </section><section id="can-i-use-native-client-for-3d-graphics"> | 285 </section><section id="can-i-use-native-client-for-3d-graphics"> |
282 <h3 id="can-i-use-native-client-for-3d-graphics">Can I use Native Client for 3D
graphics?</h3> | 286 <h3 id="can-i-use-native-client-for-3d-graphics">Can I use Native Client for 3D
graphics?</h3> |
283 <p>Yes. Native Client supports <a class="reference external" href="https://www.k
hronos.org/opengles/">OpenGL ES 2.0</a>.</p> | 287 <p>Yes. Native Client supports <a class="reference external" href="https://www.k
hronos.org/opengles/">OpenGL ES 2.0</a>.</p> |
284 <p>To alert the user regarding their hardware platform’s 3D feature set | 288 <p>To alert the user regarding their hardware platform’s 3D feature set |
285 before loading a large NaCl application, see <a class="reference internal" href=
"/native-client/devguide/coding/3D-graphics.html"><em>Vetting the driver in | 289 before loading a large NaCl application, see <a class="reference internal" href=
"/native-client/devguide/coding/3D-graphics.html"><em>Vetting the driver in |
286 Javascript</em></a>.</p> | 290 Javascript</em></a>.</p> |
287 <p>Some GL extensions are exposed to Native Client applications, see the | 291 <p>Some GL extensions are exposed to Native Client applications, see the |
288 <a class="reference external" href="https://src.chromium.org/viewvc/chrome/trunk
/src/ppapi/lib/gl/gles2/gles2.c">GLES2 file</a>. | 292 <a class="reference external" href="https://src.chromium.org/viewvc/chrome/trunk
/src/ppapi/lib/gl/gles2/gles2.c">GLES2 file</a>. |
289 This file is part of the GL wrapper supplied by the library | 293 This file is part of the GL wrapper supplied by the library |
290 <code>ppapi_gles2</code> which you’ll want to include in your project. In
most | 294 <code>ppapi_gles2</code> which you’ll want to include in your project. In
most |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
508 you’re loading the correct <code>.nexe</code> file by building a separate | 512 you’re loading the correct <code>.nexe</code> file by building a separate |
509 <code>.nexe</code> for each architecture, and using a <code>.nmf</code> manifest
file to | 513 <code>.nexe</code> for each architecture, and using a <code>.nmf</code> manifest
file to |
510 let the browser select the correct <code>.nexe</code> file. Note: the need to | 514 let the browser select the correct <code>.nexe</code> file. Note: the need to |
511 select a processor-specific <code>.nexe</code> goes away with Portable Native | 515 select a processor-specific <code>.nexe</code> goes away with Portable Native |
512 Client.</li> | 516 Client.</li> |
513 <li>If things still aren’t working, <a class="reference internal" href="/n
ative-client/help.html"><em>ask for help</em></a>!</li> | 517 <li>If things still aren’t working, <a class="reference internal" href="/n
ative-client/help.html"><em>ask for help</em></a>!</li> |
514 </ul> | 518 </ul> |
515 </section></section></section> | 519 </section></section></section> |
516 | 520 |
517 {{/partials.standard_nacl_article}} | 521 {{/partials.standard_nacl_article}} |
OLD | NEW |