• R/O
  • HTTP
  • SSH
  • HTTPS

sdl2referencejp: コミット

SDL2.0の日本語リファレンスマニュアル


コミットメタ情報

リビジョンecd6a00f9df4f56521a6a606d1f37d865009665c (tree)
日時2020-07-06 00:04:15
作者maruhiro <maruhiro@brid...>
コミッターmaruhiro

ログメッセージ

変更サマリ

差分

--- a/CategoryAPI.html
+++ b/CategoryAPI.html
@@ -20,7 +20,8 @@
2020 <li><a href="SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH.html">SDL_HINT_ANDROID_SEPARATE_MOUSE_AND_TOUCH</a>
2121 <li><a href="SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS.html">SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS</a>
2222 <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>
2425 <li><a href="SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT.html">SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT</a>
2526 <li><a href="SDL_HINT_FRAMEBUFFER_ACCELERATION.html">SDL_HINT_FRAMEBUFFER_ACCELERATION</a>
2627 <li><a href="SDL_HINT_GAMECONTROLLERCONFIG.html">SDL_HINT_GAMECONTROLLERCONFIG</a>
--- a/CategoryHints.html
+++ b/CategoryHints.html
@@ -33,6 +33,7 @@
3333 <li><a href="SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS.html">SDL_HINT_APPLE_TV_CONTROLLER_UI_EVENTS</a></li>
3434 <li><a href="SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION.html">SDL_HINT_APPLE_TV_REMOTE_ALLOW_ROTATION</a></li>
3535 <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>
3637 <li><a href="SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT.html">SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT</a></li>
3738 <li><a href="SDL_HINT_FRAMEBUFFER_ACCELERATION.html">SDL_HINT_FRAMEBUFFER_ACCELERATION</a></li>
3839 <li><a href="SDL_HINT_GAMECONTROLLERCONFIG.html">SDL_HINT_GAMECONTROLLERCONFIG</a></li>
--- /dev/null
+++ b/SDL_HINT_EMSCRIPTEN_ASYNCIFY.html
@@ -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>
旧リポジトリブラウザで表示