comment out the FreeVerb effect to check mixer performance

This commit is contained in:
Stephen Birarda 2013-06-06 10:59:03 -07:00
parent dd7c1fab2e
commit 83f7b2943c

View file

@ -220,40 +220,40 @@ int main(int argc, const char* argv[]) {
numSamplesDelay = PHASE_DELAY_AT_90 * sinRatio; numSamplesDelay = PHASE_DELAY_AT_90 * sinRatio;
weakChannelAmplitudeRatio = 1 - (PHASE_AMPLITUDE_RATIO_AT_90 * sinRatio); weakChannelAmplitudeRatio = 1 - (PHASE_AMPLITUDE_RATIO_AT_90 * sinRatio);
} }
//
FreeVerbAgentMap& agentFreeVerbs = agentRingBuffer->getFreeVerbs(); // FreeVerbAgentMap& agentFreeVerbs = agentRingBuffer->getFreeVerbs();
FreeVerbAgentMap::iterator freeVerbIterator = agentFreeVerbs.find(otherAgent->getAgentID()); // FreeVerbAgentMap::iterator freeVerbIterator = agentFreeVerbs.find(otherAgent->getAgentID());
//
if (freeVerbIterator == agentFreeVerbs.end()) { // if (freeVerbIterator == agentFreeVerbs.end()) {
// setup the freeVerb effect for this source for this client // // setup the freeVerb effect for this source for this client
otherAgentFreeVerb = agentFreeVerbs[otherAgent->getAgentID()] = new stk::FreeVerb; // otherAgentFreeVerb = agentFreeVerbs[otherAgent->getAgentID()] = new stk::FreeVerb;
//
otherAgentFreeVerb->setDamping(DISTANCE_REVERB_DAMPING); // otherAgentFreeVerb->setDamping(DISTANCE_REVERB_DAMPING);
otherAgentFreeVerb->setRoomSize(DISTANCE_REVERB_ROOM_SIZE); // otherAgentFreeVerb->setRoomSize(DISTANCE_REVERB_ROOM_SIZE);
otherAgentFreeVerb->setWidth(DISTANCE_REVERB_WIDTH); // otherAgentFreeVerb->setWidth(DISTANCE_REVERB_WIDTH);
} else { // } else {
otherAgentFreeVerb = freeVerbIterator->second; // otherAgentFreeVerb = freeVerbIterator->second;
} // }
//
const float WETNESS_DOUBLING_DISTANCE_FACTOR = 2.0f; // const float WETNESS_DOUBLING_DISTANCE_FACTOR = 2.0f;
const float MAX_REVERB_DISTANCE = 160.0f; // const float MAX_REVERB_DISTANCE = 160.0f;
//
// higher value increases wetness more quickly with distance // // higher value increases wetness more quickly with distance
const float WETNESS_CALC_EXPONENT_BASE = 2.0f; // const float WETNESS_CALC_EXPONENT_BASE = 2.0f;
//
const float MAX_EXPONENT = logf(MAX_REVERB_DISTANCE) / logf(WETNESS_DOUBLING_DISTANCE_FACTOR); // const float MAX_EXPONENT = logf(MAX_REVERB_DISTANCE) / logf(WETNESS_DOUBLING_DISTANCE_FACTOR);
const int MAX_EXPONENT_INT = floorf(MAX_EXPONENT); // const int MAX_EXPONENT_INT = floorf(MAX_EXPONENT);
const float DISTANCE_REVERB_LOG_REMAINDER = fmodf(MAX_EXPONENT, MAX_EXPONENT_INT); // const float DISTANCE_REVERB_LOG_REMAINDER = fmodf(MAX_EXPONENT, MAX_EXPONENT_INT);
const float DISTANCE_REVERB_MAX_WETNESS = 1.0f; // const float DISTANCE_REVERB_MAX_WETNESS = 1.0f;
const float EFFECT_MIX_RHS = DISTANCE_REVERB_MAX_WETNESS / powf(WETNESS_DOUBLING_DISTANCE_FACTOR, // const float EFFECT_MIX_RHS = DISTANCE_REVERB_MAX_WETNESS / powf(WETNESS_DOUBLING_DISTANCE_FACTOR,
MAX_EXPONENT_INT); // MAX_EXPONENT_INT);
//
float effectMix = powf(WETNESS_CALC_EXPONENT_BASE, // float effectMix = powf(WETNESS_CALC_EXPONENT_BASE,
(0.5f * logf(distanceSquareToSource) / logf(WETNESS_CALC_EXPONENT_BASE)) // (0.5f * logf(distanceSquareToSource) / logf(WETNESS_CALC_EXPONENT_BASE))
- DISTANCE_REVERB_LOG_REMAINDER); // - DISTANCE_REVERB_LOG_REMAINDER);
effectMix *= EFFECT_MIX_RHS; // effectMix *= EFFECT_MIX_RHS;
//
otherAgentFreeVerb->setEffectMix(effectMix); // otherAgentFreeVerb->setEffectMix(effectMix);
} }
int16_t* goodChannel = (bearingRelativeAngleToSource > 0.0f) int16_t* goodChannel = (bearingRelativeAngleToSource > 0.0f)