Changeset 948 for trunk/dll/tmrsvcs.c


Ignore:
Timestamp:
Feb 12, 2008, 6:20:47 AM (18 years ago)
Author:
Steven Levine
Message:

Rework collector progress reporting and improve performance (ticket #79)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/dll/tmrsvcs.c

    r907 r948  
    2121/**
    2222 * Prepare interval timer descriptor for use
     23 * Call with interval 0 to to reset internal estimators
    2324 * @param pTD point to interval timer descriptor
    2425 * @param interval_msec is the timer interval in msec or 0 to retain existing value
     
    2728VOID InitITimer(ITIMER_DESC *pitd, UINT interval_msec)
    2829{
    29   if (interval_msec)
     30  if (interval_msec) {
     31    // Assume starting new loop at similar rate
    3032    pitd->interval_msec = interval_msec;
    31   pitd->remaining = pitd->estimated;
     33    pitd->remaining = pitd->estimated;
     34  }
     35  else {
     36    // Assume loop rate is changing to a significantly lower value
     37    pitd->remaining = 0;
     38    pitd->estimated = 1;                // Force rate recalc
     39  }
    3240  DosQuerySysInfo(QSV_MS_COUNT, QSV_MS_COUNT, &pitd->start_msec, sizeof(pitd->start_msec));
    3341}
     
    3543/**
    3644 * Check timer interval expired
     45 * Attempts to optimize calls to fetch QSV_MS_COUNT
     46 * Caller should reinit if processing rate changes
    3747 * @return TRUE if expired
    3848 */
Note: See TracChangeset for help on using the changeset viewer.