SDL2.0の日本語リファレンスマニュアル
リビジョン | ecd6a00f9df4f56521a6a606d1f37d865009665c (tree) |
---|---|
日時 | 2020-07-06 00:04:15 |
作者 | maruhiro <maruhiro@brid...> |
コミッター | maruhiro |
SDL_HINT_EMSCRIPTEN_ASYNCIFY 新規追加 https://wiki.libsdl.org/SDL_HINT_EMSCRIPTEN_ASYNCIFY?action=diff&rev1=1&rev2=5
@@ -20,7 +20,8 @@ | ||
20 | 20 | <li><a href="SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH.html">SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH</a> |
21 | 21 | <li><a href="SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS.html">SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS</a> |
22 | 22 | <li><a href="SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION.html">SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION</a> |
23 | -<li><a href="SDL_HINT_BMP_SAVE_LEGACY_FORMAT.html">SDL_HINT_BMP_SAVE_LEGACY_FORMAT</a></li> | |
23 | +<li><a href="SDL_HINT_BMP_SAVE_LEGACY_FORMAT.html">SDL_HINT_BMP_SAVE_LEGACY_FORMAT</a> | |
24 | +<li><a href="SDL_HINT_EMSCRIPTEN_ASYNCIFY.html">SDL_HINT_EMSCRIPTEN_ASYNCIFY</a> | |
24 | 25 | <li><a href="SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT.html">SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT</a> |
25 | 26 | <li><a href="SDL_HINT_FRAMEBUFFER_ACCELERATION.html">SDL_HINT_FRAMEBUFFER_ACCELERATION</a> |
26 | 27 | <li><a href="SDL_HINT_GAMECONTROLLERCONFIG.html">SDL_HINT_GAMECONTROLLERCONFIG</a> |
@@ -33,6 +33,7 @@ | ||
33 | 33 | <li><a href="SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS.html">SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS</a></li> |
34 | 34 | <li><a href="SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION.html">SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION</a></li> |
35 | 35 | <li><a href="SDL_HINT_BMP_SAVE_LEGACY_FORMAT.html">SDL_HINT_BMP_SAVE_LEGACY_FORMAT</a></li> |
36 | +<li><a href="SDL_HINT_EMSCRIPTEN_ASYNCIFY.html">SDL_HINT_EMSCRIPTEN_ASYNCIFY</a></li> | |
36 | 37 | <li><a href="SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT.html">SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT</a></li> |
37 | 38 | <li><a href="SDL_HINT_FRAMEBUFFER_ACCELERATION.html">SDL_HINT_FRAMEBUFFER_ACCELERATION</a></li> |
38 | 39 | <li><a href="SDL_HINT_GAMECONTROLLERCONFIG.html">SDL_HINT_GAMECONTROLLERCONFIG</a></li> |
@@ -0,0 +1,68 @@ | ||
1 | +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> | |
2 | +<html lang="ja-JP"> | |
3 | +<head> | |
4 | +<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> | |
5 | +<meta http-equiv="Content-Style-Type" content="text/css"> | |
6 | +<meta name="keywords" content="Simple Directmedia Layer SDL2.0"> | |
7 | +<link rel="top" href="index.html" title="ホーム"> | |
8 | +<link rel="parent" href="CategoryHints.html" title="1つ上"> | |
9 | +<title>SDL_HINT_EMSCRIPTEN_ASYNCIFY</title> | |
10 | +</head> | |
11 | +<body> | |
12 | +<a href="index.html">目次</a> - <a href="ApiByCategory.html">API(機能別)</a> - <a href="CategoryHints.html">ヒント</a> - SDL_HINT_EMSCRIPTEN_ASYNCIFY | |
13 | +<hr> | |
14 | +<h1>SDL_HINT_EMSCRIPTEN_ASYNCIFY</h1> | |
15 | +asyncifyで動作しているとき自動的に制御をブラウザに戻すか否かを指定するヒント | |
16 | +<h2>値</h2> | |
17 | +<table border="1" summary="SDL_HINT_EMSCRIPTEN_ASYNCIFY"> | |
18 | +<tr><td>0</td><td>emscripten_sleepの呼び出しを無効にする (手動で制御をブラウザに戻す, または別の目的でasyncifyを使用する場合)</td></tr> | |
19 | +<tr><td>1</td><td>emscripten_sleepの呼び出しを有効にする (デフォルト)</td></tr> | |
20 | +</table> | |
21 | +<h2>デフォルト</h2> | |
22 | +<p> | |
23 | +アプリケーションがasyncify対応でコンパイルされているとき, SDLは以下の場合にemscripten_sleepを呼びアプリケーションを一時停止させて自動的に制御をブラウザに戻す: | |
24 | +</p> | |
25 | +<ul> | |
26 | +<li>ソフトウェアグラフィックコンテキストを更新 | |
27 | +<li>GPUグラフィックコンテキストを更新 | |
28 | +<li><a href="SDL_Delay.html">SDL_Delay()</a>を使用 | |
29 | +<li>(SDL_Delay経由の)イベントポーリング. <a href="SDL_WaitEvent.html">SDL_WaitEvent()</a>に対応しているため | |
30 | +</ul> | |
31 | +<p> | |
32 | +これにより, SDLアプリケーションはそれほどパフォーマンスを低下させることなく(<a href="https://emscripten.org/docs/api_reference/emscripten.h.html#c.emscripten_set_main_loop">emscripten_set_main_loop</a>を使用しないで)メインループのコードを変更せずにwebブラウザに移植できる. | |
33 | +</p> | |
34 | +<h2>サンプルコード</h2> | |
35 | +<p> | |
36 | +この動作を無効にするには: | |
37 | +</p> | |
38 | +<p> | |
39 | +<code> | |
40 | +<pre> | |
41 | +SDL_SetHint(SDL_HINT_EMSCRIPTEN_ASYNCIFY, "0"); | |
42 | +//... | |
43 | +SDL_Init(SDL_INIT_EVERYTHING); | |
44 | +</pre> | |
45 | +</code> | |
46 | +</p> | |
47 | +<p> | |
48 | +デフォルトのSDL_HINT_EMSCRIPTEN_ASYNCIFY=1で, パフォーマンスを高めるには, 一般的にはコールパス中のインストルメント関数のみ非同期にする: | |
49 | +</p> | |
50 | +<p> | |
51 | +<code> | |
52 | +emcc ... -s ASYNCIFY=1 -s ASYNCIFY_WHITELIST='["main", "call_path_to_your_main_loop", "SDL_WaitEvent", "SDL_WaitEventTimeout", "SDL_Delay", "SDL_RenderPresent", "GLES2_RenderPresent", "SDL_GL_SwapWindow", "Emscripten_GLES_SwapWindow", "byn$$fpcast-emu$$Emscripten_GLES_SwapWindow", "SDL_UpdateWindowSurface", "SDL_UpdateWindowSurfaceRects", "Emscripten_UpdateWindowFramebuffer"]' | |
53 | +</code> | |
54 | +</p> | |
55 | +<p> | |
56 | +"RuntimeError: unreachable executed"が発生した場合, JavaScriptコンソールとスタックトレースを見て存在しない関数を特定すること. | |
57 | +</p> | |
58 | +<h2>詳細</h2> | |
59 | +<p> | |
60 | +このヒントはEmscripten環境の場合のみ有効である. | |
61 | +</p> | |
62 | +<h2>バージョン</h2> | |
63 | +SDL2 port version_21/Emscripten 1.39.14, 公式の2020-06の<a href="https://hg.libsdl.org/SDL/rev/dd5a816a4d61">開発中バージョン</a>で使える. | |
64 | +<h2>SDL Wikiへのリンク</h2> | |
65 | +<a href="https://wiki.libsdl.org/SDL_HINT_EMSCRIPTEN_ASYNCIFY">SDL_HINT_EMSCRIPTEN_ASYNCIFY - SDL Wiki</a><br> | |
66 | +<hr> | |
67 | +</body> | |
68 | +</html> |