예제 #1
0
void
ThreadImpl::registerTick(CycleType cycleType, MilliSecTime time)
{
    if (!time.isSet()) time = _pool.getClock().getTimeInMillis();
    ThreadTickData data(getTickData());
    uint64_t previousTickMs = data._lastTickMs;
    uint64_t nowMs = time.getTime();
    data._lastTickMs = nowMs;
    data._lastTickType = cycleType;
    setTickData(data);

    if (data._lastTickMs == 0) { return; }

    if (previousTickMs > nowMs) {
        LOGBP(warning, "Thread is registering tick at time %lu, but "
                       "last time it registered a tick, the time was %lu"
                       ". Assuming clock has been adjusted backwards",
	      nowMs, previousTickMs);
        return;
    }
    uint64_t cycleTimeMs = nowMs - previousTickMs;
    if (cycleType == WAIT_CYCLE) {
        data._maxWaitTimeSeenMs = std::max(data._maxWaitTimeSeenMs, cycleTimeMs);
    } else {
        data._maxProcessingTimeSeenMs = std::max(data._maxProcessingTimeSeenMs, cycleTimeMs);
    }
}
예제 #2
0
파일: PostScene.cpp 프로젝트: wl3780/Cocos
void PostScene::setData(string _customID,tabCustom* _tabCustom){
	customID = _customID;
	TextField* _txt;
	for (std::map<string, tabCustom::AttType>::iterator it = _tabCustom->mapAtt.begin(); it != _tabCustom->mapAtt.end(); it++)
	{
		_txt = static_cast<TextField*>(rootNode->getChildByName(it->first));
		if (_txt != NULL)
			_txt->setString(_tabCustom->*(it->second));
	}
	getTickData();
}