1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
\r
4 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
\r
5 <meta http-equiv="Content-Style-Type" content="text/css">
\r
6 <meta name="keywords" content="Simple Directmedia Layer SDL2.0">
\r
7 <link rel="top" href="index.html" title="
\83z
\81[
\83\80">
\r
8 <link rel="parent" href="CategoryAtomic.html" title="1
\82Â
\8fã">
\r
9 <title>SDL_atomic_t</title>
\r
12 <a href="index.html">
\96Ú
\8e\9f</a> - <a href="ApiByCategory.html">API(
\8b@
\94\
\95Ê)</a> - <a href="CategoryAtomic.html">
\83A
\83g
\83~
\83b
\83N
\91\80\8dì</a> - SDL_atomic_t
\r
14 <h1>SDL_atomic_t</h1>
\r
15 \83A
\83g
\83~
\83b
\83N
\90®
\90\94\92l
\82ð
\95\
\82·
\8d\
\91¢
\91Ì
\r
16 <h2>
\83t
\83B
\81[
\83\8b\83h</h2>
\r
17 <table border="1" summary="SDL_atomic_t">
\r
18 <tr><td>int</td><td>value</td><td>
\83A
\83g
\83~
\83b
\83N
\90®
\90\94\92l</td></tr>
\r
20 <h2>
\83T
\83\93\83v
\83\8b\83R
\81[
\83h</h2>
\r
24 /*
\82±
\82ê
\82ÍFPS
\82ð
\83J
\83E
\83\93\83g
\82·
\82é
\83T
\83\93\83v
\83\8b\82Å
\82 \82é
\r
26 * SDL
\83^
\83C
\83}
\82Í
\95Ê
\82Ì
\83X
\83\8c\83b
\83h
\82Å
\93®
\82¢
\82Ä
\82¢
\82é
\r
27 *
\82»
\82Ì
\82½
\82ß
\83f
\81[
\83^
\8b£
\8d\87\82ð
\96h
\82®
\95K
\97v
\82Å
\82 \82é
\r
29 SDL_atomic_t frames;
\r
31 /*
\90Ý
\92è
\82³
\82ê
\82½
\8aÔ
\8au
\82Å
\95½
\8bÏ
\83t
\83\8c\81[
\83\80\83\8c\81[
\83g
\82Ì
\8cv
\8eZ
\82Æ
\95\
\8e¦
\82ð
\8ds
\82¤ */
\r
32 Uint32 fps_timer_callback(Uint32 interval, void *data)
\r
34 const float f = SDL_AtomicGet(&frames);
\r
35 const float iv = (float)interval / 1000.0f;
\r
36 printf("%.2f\tfps\n", f / iv);
\r
38 /*
\83t
\83\8c\81[
\83\80\83J
\83E
\83\93\83^
\82ð
\83\8a\83Z
\83b
\83g
\82·
\82é */
\r
39 SDL_AtomicSet(&frames, 0);
\r
44 int main(int argc, char **argv)
\r
46 SDL_Init(SDL_INIT_EVERYTHING);
\r
47 SDL_Window *win = SDL_CreateWindow("Counter",
\r
48 SDL_WINDOWPOS_CENTERED,
\r
49 SDL_WINDOWPOS_CENTERED,
\r
55 SDL_Surface *screen = SDL_GetWindowSurface(win);
\r
57 /*
\83^
\83C
\83}
\82Í
\95Ê
\83X
\83\8c\83b
\83h
\82Å5
\95b
\8aÔ
\8au
\82Å
\93®
\82 */
\r
58 SDL_AddTimer(5000, fps_timer_callback, NULL);
\r
62 while (SDL_PollEvent(&e)) {
\r
63 if (e.type == SDL_QUIT) {
\r
67 SDL_FillRect(screen, NULL, 0xffffffff);
\r
68 SDL_UpdateWindowSurface(win);
\r
70 /*
\83t
\83\8c\81[
\83\80\90\94\82É1
\82ð
\89Á
\82¦
\82é */
\r
71 SDL_AtomicAdd(&frames, 1);
\r
74 SDL_DestroyWindow(win);
\r
82 <a href="SDL_atomic_t.html">SDL_atomic_t</a>
\82Í
\8d\
\91¢
\91Ì
\82È
\82Ì
\82Å
\8aÔ
\88á
\82Á
\82Ä
\89\89\8eZ
\8eq
\82Å
\91\80\8dì
\82·
\82é
\82±
\82Æ
\82ª
\82È
\82¢.
\r
83 \83A
\83g
\83~
\83b
\83N
\91\80\8dì
\8aÖ
\90\94\82Å
\82Í
\90®
\90\94\82Ì
\92l
\82Æ
\82µ
\82Ä
\82±
\82ê
\82ð
\8eg
\82¤
\95K
\97v
\82ª
\82 \82é.
\r
84 <h2>
\8aÖ
\98A
\8d\80\96Ú(
\8aÖ
\90\94)</h2>
\r
85 <a href="SDL_AtomicAdd.html">SDL_AtomicAdd</a><br>
\r
86 <a href="SDL_AtomicCAS.html">SDL_AtomicCAS</a><br>
\r
87 <a href="SDL_AtomicDecRef.html">SDL_AtomicDecRef</a><br>
\r
88 <a href="SDL_AtomicGet.html">SDL_AtomicGet</a><br>
\r
89 <a href="SDL_AtomicIncRef.html">SDL_AtomicIncRef</a><br>
\r
90 <a href="SDL_AtomicSet.html">SDL_AtomicSet</a><br>
\r
91 <h2>SDL Wiki
\82Ö
\82Ì
\83\8a\83\93\83N</h2>
\r
92 <a href="https://wiki.libsdl.org/SDL_atomic_t">SDL_atomic_t - SDL Wiki</a><br>
\r