Staggered tile updates and moving texture window to eliminate constant memmove() for animation

This commit is contained in:
Charles J. Cliffe
2015-01-22 21:32:32 -05:00
parent 1e50f13c1b
commit 6d0fc54400
5 changed files with 67 additions and 32 deletions
+11 -1
View File
@@ -55,6 +55,8 @@ void SDRPostThread::threadMain() {
dcFilter = iirfilt_crcf_create_dc_blocker(0.0005);
DemodulatorThreadIQData *visualDataOut = new DemodulatorThreadIQData;
std::cout << "SDR post-processing thread started.." << std::endl;
std::deque<DemodulatorThreadIQData *> buffers;
@@ -96,7 +98,13 @@ void SDRPostThread::threadMain() {
}
if (iqVisualQueue != NULL && iqVisualQueue.load()->empty()) {
DemodulatorThreadIQData *visualDataOut = new DemodulatorThreadIQData;
if (visualDataOut->data.size() < num_vis_samples) {
if (visualDataOut->data.capacity() < num_vis_samples) {
visualDataOut->data.reserve(num_vis_samples);
}
visualDataOut->data.resize(num_vis_samples);
}
visualDataOut->frequency = data_in->frequency;
visualDataOut->sampleRate = data_in->sampleRate;
visualDataOut->data.assign(dataOut.begin(), dataOut.begin() + num_vis_samples);
@@ -201,6 +209,8 @@ void SDRPostThread::threadMain() {
// delete demodDataDel;
}
delete visualDataOut;
std::cout << "SDR post-processing thread done." << std::endl;
}