1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <meta http-equiv="Content-Style-Type" content="text/css" /> 6 <link rel="stylesheet" href="../../../css/manpage.css" type="text/css" /> 7 <style type="text/css"><!-- 8 span.static_style 9 { 10 font-size : 8pt; 11 color : white; 12 font-weight : bold; 13 background : #44f; 14 border-left : solid 1px #aaf; 15 border-top : solid 1px #aaf; 16 border-right : solid 1px #00c; 17 border-bottom : solid 1px #00c; 18 padding-left : 2px; 19 padding-right : 2px; 20 } 21 22 span.virtual_style 23 { 24 font-size : 8pt; 25 color : white; 26 font-weight : bold; 27 background : #0a0; 28 border-left : solid 1px #0f0; 29 border-top : solid 1px #0f0; 30 border-right : solid 1px #060; 31 border-bottom : solid 1px #060; 32 padding-left : 2px; 33 padding-right : 2px; 34 } 35 36 span.protected_style 37 { 38 font-size : 8pt; 39 color : white; 40 font-weight : bold; 41 background : #444; 42 border-left : solid 1px #ccc; 43 border-top : solid 1px #ccc; 44 border-right : solid 1px #222; 45 border-bottom : solid 1px #222; 46 padding-left : 2px; 47 padding-right : 2px; 48 } 49 --></style> 50<title>nn::os::Tick</title> 51 </head> 52 <body> 53<h1><CODE><a href="../../../nn/Overview.html">nn</a>::<a href="../../../nn/os/Overview.html">os</a>::Tick</CODE> Class</h1> 54 <div class="section"> 55<b>Header file: </b>nn/os.h</div> 56<h2>Syntax</h2> 57 <div class="section"> 58 <pre class="definition">class Tick</pre> 59 </div> 60<h2>Description</h2> 61 <div class="section"> 62<p>Class for handling system ticks.</p><p>A system tick represents a single clock cycle of the CPU. The conversion constructors and conversion operators let you convert from ticks to <CODE><a href="../../../nn/fnd/TimeSpan/Overview.html">nn::fnd::TimeSpan</a></CODE> objects (which represent actual time), and vice versa. Use <CODE><a href="../../../nn/os/Tick/GetSystemCurrent.html">GetSystemCurrent</a></CODE> to get the number of ticks that have occurred since the system was started up.</p><p>There are individual differences, and the system tick can vary widely by temperature, so the precision is somewhere around ±300 seconds per month. This value is not something that can be guaranteed in the retail product.</p><p>Time in terms of current date and time as gotten by the <CODE><a href="../../../nn/fnd/DateTime/GetNow.html">nn::fnd::DateTime::GetNow</a></CODE> function progresses at a different speed, so the two values must not be used in combination. Even though you get values in the same unit with the <CODE><a href="../../../nn/os/Tick/ToTimeSpan.html">nn::os::Tick::ToTimeSpan</a></CODE> function, you do not get the same value even when you take the measurement at the same time.</p><p>Also, in most cases, time progresses at different rates in libraries that handle time internally (for example, for streaming playback of audio and video). So, for example, if you want to synchronize the application's gameplay with the sound playback, you need to understand the specifications for the individual libraries and use the same rate of time progression for both.</p><!-- write here --></div> 63 <a name="constant" id="constant"> 64<h2>Member Constants</h2> 65 <div class="section"> 66 <table class="members"> 67 <tr> 68 <td width="100"> 69<span class="static_style" title="static">S</span> 70 </td> 71 <th> 72<span class="argument"><a href="../../../nn/os/Tick/TICKS_PER_SECOND.html"><CODE>TICKS_PER_SECOND</CODE></a></span> 73 </th> 74<td width="100">const <a href="../../../nn_types/s64.html">s64</a></td> 75<td>Constant representing the number of ticks per second.</td> 76 </tr> </table> 77 </div> 78 </a> <a name="function" id="function"> 79<h2>Member Functions</h2> 80 <div class="section"> 81 <table class="members"> 82 <tr> 83<th class="category" colspan="3">Constructor</th> 84 </tr> 85 <tr> 86 <td width="100"> </td> 87 <th> 88<a href="../../../nn/os/Tick/Tick.html"><CODE>Tick</CODE></a> 89 </th> 90<td>Constructor that takes a number of ticks and initializes an object.</td> 91 </tr> 92 <tr> 93 <td width="100"> 94<span class="static_style" title="static">S</span> </td> 95 <th> 96<a href="../../../nn/os/Tick/GetSystemCurrent.html"><CODE>GetSystemCurrent</CODE></a> 97 </th> 98<td>Returns the number of ticks that have occurred since the system was started up.</td> 99 </tr> 100 <tr> 101<th class="category" colspan="3">Conversions</th> 102 </tr> 103 <tr> 104 <td width="100"> </td> 105 <th> 106<a href="../../../nn/os/Tick/operator s64.html"><CODE>operator s64</CODE></a> 107 </th> 108<td>Converts to a 64-bit tick value.</td> 109 </tr> 110 <tr> 111 <td width="100"> </td> 112 <th> 113<a href="../../../nn/os/Tick/operator nn-3a-3afnd-3a-3aTimeSpan.html"><CODE>operator nn::fnd::TimeSpan</CODE></a> 114 </th> 115<td>Converts to a <a href="../../../nn/fnd/TimeSpan/Overview.html"><CODE>nn::fnd::TimeSpan</CODE></a> value.</td> 116 </tr> 117 <tr> 118 <td width="100"> </td> 119 <th> 120<a href="../../../nn/os/Tick/ToTimeSpan.html"><CODE>ToTimeSpan</CODE></a> 121 </th> 122<td>Converts to a <a href="../../../nn/fnd/TimeSpan/Overview.html"><CODE>nn::fnd::TimeSpan</CODE></a> value.</td> 123 </tr> 124 <tr> 125<th class="category" colspan="3">Sums and Differences</th> 126 </tr> 127 <tr> 128 <td width="100"> </td> 129 <th> 130<a href="../../../nn/os/Tick/operator-2d=.html"><CODE>operator-=</CODE> </a> 131 </th> 132<td>Subtracts a tick value.</td> 133 </tr> 134 <tr> 135 <td width="100"> </td> 136 <th> 137<a href="../../../nn/os/Tick/operator-2d.html"><CODE>operator-</CODE> </a> 138 </th> 139<td>Finds the difference between tick values.</td> 140 </tr> 141 <tr> 142 <td width="100"> </td> 143 <th> 144<a href="../../../nn/os/Tick/operator+=.html"><CODE>operator+=</CODE> </a> 145 </th> 146<td>Adds a tick value.</td> 147 </tr> 148 <tr> 149 <td width="100"> </td> 150 <th> 151<a href="../../../nn/os/Tick/operator+.html"><CODE>operator+</CODE> </a> 152 </th> 153<td>Finds the sum of tick values.</td> 154 </tr> 155 <tr> 156<th class="category" colspan="3">Conversion to Second Units</th> 157 </tr> 158 <tr> 159 <td width="100"> </td> 160 <th> 161<a href="../../../nn/os/Tick/ToNanoSeconds.html"><CODE>ToNanoSeconds</CODE> </a> 162 </th> 163<td>Converts to nanosecond units.</td> 164 </tr> 165 <tr> 166 <td width="100"> </td> 167 <th> 168<a href="../../../nn/os/Tick/ToMicroSeconds.html"><CODE>ToMicroSeconds</CODE> </a> 169 </th> 170<td>Converts to microsecond units.</td> 171 </tr> 172 <tr> 173 <td width="100"> </td> 174 <th> 175<a href="../../../nn/os/Tick/ToMilliSeconds.html"><CODE>ToMilliSeconds</CODE> </a> 176 </th> 177<td>Converts to millisecond units.</td> 178 </tr> 179 <tr> 180 <td width="100"> </td> 181 <th> 182<a href="../../../nn/os/Tick/ToSeconds.html"><CODE>ToSeconds</CODE> </a> 183 </th> 184<td>Converts to second units.</td> 185 </tr> </table> 186 </div> 187 </a> 188<h2>Revision History</h2> 189 <div class="section"> 190 <dl class="history"> 191 <dt>2012/05/25</dt> 192<dd>Categorized the member functions.<br />Added the operator-series functions.<br /> 193 </dd> 194 <dt>2012/01/17</dt> 195<dd>Noted that mixed use with <CODE><a href="../../../nn/fnd/DateTime/GetNow.html">nn::fnd::DateTime::GetNow</a></CODE> is prohibited, and added a description of precision.<br /> 196 </dd> 197 <dt>2010/01/07</dt> 198<dd>Initial version.<br /> 199 </dd> 200 </dl> 201 </div> 202 <hr><p>CONFIDENTIAL</p></body> 203</html>