-- [ Picked text/plain from multipart/alternative ] I always use curtime.. I've only really ever seen Valve use curtime and to be honest I didn't know realtime existed.
I've never had any problems with curtime. On 5/14/06, Adam amckern Mckern <[EMAIL PROTECTED]> wrote: > > Well i ask becuase BK warns not to use realtime all > but with perf testing, and then doubts himself with > that. > > I am not on a MP mod team at this time, but am working > on my own SP mod, based on the Nightfall game play > engine that wrayith, and myself programmed. > > Adam > > --- Nick <[EMAIL PROTECTED]> wrote: > > > -- > > [ Picked text/plain from multipart/alternative ] > > try it, see how well it works for you... LOL > > > > On 5/14/06, Adam amckern Mckern <[EMAIL PROTECTED]> > > wrote: > > > > > > So BK, > > > > > > It would be best for all of us working on MP based > > > mod's to find and replace every instance of > > realtime > > > with curtime? > > > > > > Adam > > > > > > > > > > > > --- [EMAIL PROTECTED] wrote: > > > > > > > FYI all, since dumping ->realtime in favor of > > > > ->curtime I have not seen the serious form of > > this > > > > repro. The bug was intermittent, so it could be > > > > luck, but it's been about 2 weeks, so it's > > looking > > > > like that was the only bug. > > > > > > > > Just a heads-up to anyone thinking of using > > realtime > > > > for anything other than maybe perf testing, > > don't. > > > > (And even that use is questionable.) > > > > > > > > -bk > > > > > > > > At 2006/04/18 06:42 PM, > > > > [EMAIL PROTECTED] wrote: > > > > >No, I do not need real time accuracy. I just > > need > > > > to know how the game thinks time is advancing > > each > > > > tick. To give an example, I'm using > > > > gpGlobals->realtime to set a stamp and change > > the > > > > weird feature where you can switch weapons over > > and > > > > over almost limitlessly fast in HL2 DM. > > > > > > > > > >I left it running overnight with curtime and > > didn't > > > > get any odd curtimes (well, except for the level > > > > changes, but that's ok.) Thanks again - this > > seems > > > > resolve the second biggest SDK issue I know of, > > > > which has been a source of user complaints for a > > > > quite a while. > > > > > > > > > >-bk > > > > > > > > > >At 2006/04/17 11:36 PM, Yahn Bernier wrote: > > > > >>Yes. Curtime is the server's clock, which is > > > > bounded by the tick > > > > >>interval and smoothly increases in each call > > to > > > > GameFrame. If the > > > > >>actuall time for a frame takes longer than one > > > > tick interval, then you > > > > >>can have multiple calls to GameFrame (with > > > > advancing curtime) but only > > > > >>get a single update to gpGlobals->realtime. > > If > > > > you need sub-frame clock > > > > >>accuracy (only useful for perf. Analysis > > really), > > > > then use > > > > >>Plat_FloatTime() which is independent of > > > > gpGlobals->realtime and > > > > >>->curtime. Otherwise, if you need a clock, > > > > ->curtime is good enough, > > > > >>but does reset between levels. > > > > gpGlobals->realtime does not, but, > > > > >>again, it only gets advanced at the start of a > > > > frame (as opposed to each > > > > >>tick). > > > > >> > > > > >>Yahn > > > > >> > > > > >>-----Original Message----- > > > > >>From: [EMAIL PROTECTED] > > > > >>[mailto:[EMAIL PROTECTED] > > On > > > > Behalf Of > > > > >>[EMAIL PROTECTED] > > > > >>Sent: Monday, April 17, 2006 8:16 PM > > > > >>To: [email protected] > > > > >>Subject: RE: [hlcoders] gpGlobals->realtime > > > > standing still > > > > >> > > > > >>Thanks much. When you say curtime "will > > reflect > > > > the 0.015 increments > > > > >>per tick", it sounds like you're saying that > > > > realtime is broken in this > > > > >>regard and I should use curtime instead? > > That's > > > > ok, but please confirm, > > > > >>as I will need to do a lot of search and > > replace. > > > > >> > > > > >>I've run a few tests and curtime always seems > > > > consistent and monotonic, > > > > >>however it seems that curtime doesn't start > > moving > > > > until the map loads, > > > > >>and is reset on map load. Is that the > > expected > > > > behavior? > > > > >> > > > > >>-bk > > > > >> > > > > >>At 2006/04/13 12:33 PM, Yahn Bernier wrote: > > > > >>>gpGlobals->curtime will reflect the 0.015 > > > > increments per tick. > > > > >>>Plat_FloatTime() will resample the high perf > > > > clock. > > > > >>> > > > > >>>Yahn > > > > >>> > > > > >>>-----Original Message----- > > > > >>>From: [EMAIL PROTECTED] > > > > > > >>>[mailto:[EMAIL PROTECTED] On > > > > Behalf Of Jay Stelly > > > > >>>Sent: Thursday, April 13, 2006 10:21 AM > > > > >>>To: [email protected] > > > > >>>Subject: RE: [hlcoders] gpGlobals->realtime > > > > standing still > > > > >>> > > > > >>>Yahn found this one - realtime is only > > integrated > > > > once per sever frame. > > > > >>>Game frame is called once per server tick. > > When > > > > you run something that > > > > >>>uses 100% CPU the server gets starved, then > > tries > > > > to make up the time > > > > >>>all in one frame. It's a little more complex > > > > than that because there's > > > > >>>a cap on the sim time it will try to execute > > in > > > > one frame, but ignoring > > > > >>>that: > > > > >>> > > > > >>>The first GameFrame() has the complete update > > to > > > > realtime, then the > > > > >>>subsequent calls don't change because you're > > > > still running ticks to > > > > >>>catch up. > > > > >>> > > > > >>>So in this example: > > > > >>>> >odd realtime 11168195898843186 105.437195 > > > > 105.486000 0.015000 > > > > >>>> >odd realtime 11168195901330214 105.486000 > > > > 105.486000 0.015000 > > > > >>>> >odd realtime 11168195904200006 105.486000 > > > > 105.486000 0.015000 > > > > >>> > > > > >>>Frame 2 has a 49ms jump in realtime, and > > frame 3 > > > > has the realtime the > > > > >>>same because each tick is 15 ms, so you need > > to > > > > run multiple ticks to > > > > >>>catch up. > > > > >>> > > > > >>>We can change it to make it more incremental, > > but > > > > you're not actually > > > > >>>losing any time (at least I can't see any in > > this > > > > data). > > > > >>> > > > > >>>Jay > > > > >>> > > > > >>> > > > > >>>> -----Original Message----- > > > > >>>> From: [EMAIL PROTECTED] > > > > >>>> > > [mailto:[EMAIL PROTECTED] > > > > On Behalf Of > > > > >>>> [EMAIL PROTECTED] > > > > >>>> Sent: Wednesday, April 12, 2006 9:06 PM > > > > >>>> To: [email protected] > > > > >>>> Subject: RE: [hlcoders] gpGlobals->realtime > > > > standing still > > > > >>>> > > > > >>>> Oh yea forgot to say it's an intel p4 > > single > > > > proc with HT enabled. > > > > >>>> > > > > >>>> Here's one that repeated 6 times lasting 5 > > > > ms... > > > > >>>> > > > > >>>> odd realtime 11172032919604142 1479.026855 > > > > 1479.368408 0.015000 > > > > >>>> odd realtime 11172032923627014 1479.368408 > > > > 1479.368408 0.015000 > > > > >>>> odd realtime 11172032926027614 1479.368408 > > > > 1479.368408 0.015000 > > > > >>>> odd realtime 11172032930865690 1479.368408 > > > > 1479.368408 0.015000 > > > > >>>> odd realtime 11172032932857506 1479.368408 > > > > 1479.368408 0.015000 > > > > >>>> odd realtime 11172032936032430 1479.368408 > > > > 1479.368408 0.015000 > > > > >>>> odd realtime 11172032937616626 1479.368408 > > > > 1479.368408 0.015000 > > > > >>>> > > > > >>>> At 2006/04/12 10:45 PM, > > > > [EMAIL PROTECTED] wrote: > > > > >>>> >Using the 100% cpu method that always > > breaks > > > > rather easily, > > > > >>>> I get results as follows, from the code > > below. > > > > It usually > > > > >>>> occurs in groups of 2 or 3. The long-term > > > > slowdown may take > > > > >>>> several days to repro again. In this case > > you > > > > see realtime > > > > >>>> being frozen for 2 milliseconds, calling > > > > GameFrame 3 times > > > > >>>> with the same value: > > > > >>>> > > > > > >>>> >odd realtime 11168195898843186 105.437195 > > > > 105.486000 0.015000 > > > > >>>> >odd realtime 11168195901330214 105.486000 > > > > 105.486000 0.015000 > > > > >>>> >odd realtime 11168195904200006 105.486000 > > > > 105.486000 0.015000 > > > > >>>> > > > > > >>>> >----- > > > > >>>> > > > > > >>>> >void CServerGameDLL::GameFrame( bool > > > > simulating ) > > > > >>>> >{ > > > > >>>> >#if defined(DEBUG) > > > > >>>> > static float last_realtime = 0; > > > > >>>> > if ( > > > > >>>> > (gpGlobals->realtime - > > > > last_realtime < > > > > >>>> gpGlobals->frametime / 3) > > > > >>>> > || (gpGlobals->realtime - > > > > last_realtime > > > > > >>>> gpGlobals->frametime * 3) > > > > >>>> > ) { > > > > >>>> > LARGE_INTEGER PerformanceCount; > > > > >>>> > > > > > > > assert(QueryPerformanceCounter(&PerformanceCount)); > > > > >>>> > Msg("odd realtime %I64d %f %f > > %f\n", > > > > >>>> PerformanceCount, last_realtime, > > > > gpGlobals->realtime, > > > > >>>> gpGlobals->frametime); > > > > >>>> > } > > > > >>>> > assert(gpGlobals->frametime >= 0.0); > > > > >>>> > assert(gpGlobals->frametime < .03); > > > > >>>> > last_realtime = gpGlobals->realtime; > > > > >>>> >#endif > > > > >>>> > > > > > >>>> >At 2006/04/12 12:14 PM, Jay Stelly wrote: > > > > >>>> >>The master game clock is driven by > > > > >>>> QueryPerformanceCounter() on win32 > > > > >>>> >>and gettimeofday() on linux. > > > > >>>> >> > > > > >>>> >>Still, we have had reports of clock > > issues > > > > with QPC() (not this > > > > >>>> >>particular issue however) on AMD x2 > > systems > > > > that were fixed > > > > >>>> by forcing > > > > >>>> >>affinity. Also, for winxp/xp64 there is > > a > > > > chipset driver > > > > >>>> update that > > > > >>>> >>AMD recommends installing to address some > > > > timing issues. I > > > > >>>> don't have > > > > >>>> >>the info from AMD handy, but someone has > > > > written about it here (and > > > > >>>> >>provides links to downloads): > > > > >>>> > > > > > > > > > > >>http://ucguides.savagehelp.com/Quake4/FAQ_DualCore.htm#AMD > > > > >>>> >> > > > > >>>> >>RDTSC is used for the +showbudget panel. > > > > There are some issues > > > > >>with > > > > >>>> >>that on AMD x2 systems, but that is > > limited > > > > to the profiling code. > > > > >>>> >> > > > > >>>> >>Jay > > > > >>>> >> > > > > >>>> >> > > > > >>>> >>> -----Original Message----- > > > > >>>> >>> From: > > [EMAIL PROTECTED] > > > > >>>> >>> > > > > [mailto:[EMAIL PROTECTED] > > On > > > > Behalf Of > > > > >>>> >>> Jeffrey "botman" Broome > > > > >>>> >>> Sent: Wednesday, April 12, 2006 6:36 AM > > > > >>>> >>> To: [email protected] > > > > >>>> >>> Subject: Re: [hlcoders] > > gpGlobals->realtime > > > > standing still > > > > >>>> >>> > > > > >>>> >>> Jay Stelly wrote: > > > > >>>> >>> > What platform? (linux/win32)? On > > linux > > > > realtime is just > > > > >>>> >>> accumulating > > > > >>>> >>> > changes from repeated calls to > > > > gettimeofday() Have you compared > > > > >>>> >>> > gpGlobals->realtime to the output of > > > > Plat_FloatTime() ? > > > > >>>> >>> Are they both > > > > >>>> >>> > slow/stopped or just realtime? > > > > >>>> >>> > > > > > >>>> >>> > Has anyone else encountered this > > problem? > > > > >>>> >>> > > > > >>>> >>> ...also, what CPU (Intel or AMD)? Are > > you > > > > running multiple > > > > >>>> >>> cores and/or CPUs? I remember recently > > > > reading about an AMD > > > > >>>> >>> problem with multiple cores (or was it > > > > multiple CPUs) where > > > > >>>> >>> the RDTSC instruction's time wasn't > > > > syncronized between > > > > >>>> >>> CPUs/cores so when called once by code, > > it > > > > would return the > > > > >>>> >>> ticks from core 0, when called again, > > it > > > > would return the > > > > >>>> >>> ticks from core 1 (which could be > > > > different). This would > > > > >>>> >>> make the system appear to jump ahead in > > > > time and/or go back > > > > >>>> >>> in time. If HL2 is using RDTSC instead > > of > > > > >>>> >>> QueryPerformanceCounter(), it could get > > odd > > > > results on AMD > > > > >>>> >>> multi-CPU systems. If memory serves > > > > correctly, Windows > > > > >>>> >>> forces QueryPerformanceCounter() to > > always > > > > run on CPU 0, so > > > > >>>> >>> you don't get any discrepancy between > > > > calls. > > > > >>>> >>> > > > > >>>> >>> -- > > > > >>>> >>> Jeffrey "botman" Broome > > > > >>>> >>> > > > > >>>> >>> > > > > _______________________________________________ > > > > >>>> >>> To unsubscribe, edit your list > > preferences, > > > > or view the list > > > > >>>> >>> archives, please visit: > > > > >>>> >>> > > > > > > > > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > >>>> >>> > > > > >>>> >>> > > > > >>>> >> > > > > >>>> > > > > > > >>_______________________________________________ > > > > >>>> >>To unsubscribe, edit your list > > preferences, > > > > or view the > > > > >>>> list archives, please visit: > > > > >>>> > > > > > > > > > > >>http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > >>>> > > > > > >>>> > > > > >_______________________________________________ > > > > >>>> >To unsubscribe, edit your list > > preferences, or > > > > view the list > > > > >>>> archives, please visit: > > > > >>>> > > > > > > > > > > >http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > >>>> > > > > >>>> > > _______________________________________________ > > > > >>>> To unsubscribe, edit your list preferences, > > or > > > > view the list > > > > >>>> archives, please visit: > > > > >>>> > > > > > > > > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > >>>> > > > > >>>> > > > > >>> > > > > > > >>>_______________________________________________ > > > > >>>To unsubscribe, edit your list preferences, > > or > > > > view the list archives, > > > > >>>please visit: > > > > > > > > > > >>>http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > >>> > > > > >>> > > > > > > >>>_______________________________________________ > > > > >>>To unsubscribe, edit your list preferences, > > or > > > > view the list archives, > > > > >>please visit: > > > > > > > > > > >>>http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > >> > > > > > > >>_______________________________________________ > > > > >>To unsubscribe, edit your list preferences, or > > > > view the list archives, > > > > >>please visit: > > > > > > > > > > >>http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > >> > > > > >> > > > > > > >>_______________________________________________ > > > > >>To unsubscribe, edit your list preferences, or > > > > view the list archives, please visit: > > > > > > > > > > >>http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > > > > >_______________________________________________ > > > > >To unsubscribe, edit your list preferences, or > > view > > > > the list archives, please visit: > > > > > > > > > > >http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > > > _______________________________________________ > > > > To unsubscribe, edit your list preferences, or > > view > > > > the list archives, please visit: > > > > > > > > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > > > > > > > > > -------- > > > My Website http://www.ammahls.com > > > Lead Programer NightFall > > http://www.nightfallmod.net > > > Developer of CST and ZHLT 3.0 > > http://www.zhlt.info > > > Team Lead - Prime - > > http://www.nigredostudios.com > > > > > > __________________________________________________ > > > Do You Yahoo!? > > > Tired of spam? Yahoo! Mail has the best spam > > protection around > > > http://mail.yahoo.com > > > > > > _______________________________________________ > > > To unsubscribe, edit your list preferences, or > > view the list archives, > > > please visit: > > > > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > > > -- > > > > _______________________________________________ > > To unsubscribe, edit your list preferences, or view > > the list archives, please visit: > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > -------- > My Website http://www.ammahls.com > Lead Programer NightFall http://www.nightfallmod.net > Developer of CST and ZHLT 3.0 http://www.zhlt.info > Team Lead - Prime - http://www.nigredostudios.com > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > -- _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

