Very bad response time on win64 builds using gcc 4.8 when queue is running, Issue 2384
This commit is contained in:
@@ -737,7 +737,12 @@ void batchProcessingThread (ProcessingJob* job, BatchProcessingListener* bpl, bo
|
||||
void startBatchProcessing (ProcessingJob* job, BatchProcessingListener* bpl, bool tunnelMetaData) {
|
||||
|
||||
if (bpl)
|
||||
#if __GNUC__ == 4 && __GNUC_MINOR__ >= 8 && defined( WIN32 ) && defined(__x86_64__)
|
||||
// See Issue 2384 "Very bad response time on win7/64 using gcc 4.8 when queue is running"
|
||||
Glib::Thread::create(sigc::bind(sigc::ptr_fun(batchProcessingThread), job, bpl, tunnelMetaData), 0, true, true, Glib::THREAD_PRIORITY_NORMAL);
|
||||
#else
|
||||
Glib::Thread::create(sigc::bind(sigc::ptr_fun(batchProcessingThread), job, bpl, tunnelMetaData), 0, true, true, Glib::THREAD_PRIORITY_LOW);
|
||||
#endif
|
||||
|
||||
}
|
||||
|
||||
|
@@ -68,8 +68,14 @@ void BatchQueueEntryUpdater::process (guint8* oimg, int ow, int oh, int newh, BQ
|
||||
stopped = false;
|
||||
tostop = false;
|
||||
|
||||
#if __GNUC__ == 4 && __GNUC_MINOR__ >= 8 && defined( WIN32 ) && defined(__x86_64__)
|
||||
#undef THREAD_PRIORITY_NORMAL
|
||||
// See Issue 2384 comment #3
|
||||
thread = Glib::Thread::create(sigc::mem_fun(*this, &BatchQueueEntryUpdater::processThread), (unsigned long int)0, true, true, Glib::THREAD_PRIORITY_NORMAL);
|
||||
#else
|
||||
#undef THREAD_PRIORITY_LOW
|
||||
thread = Glib::Thread::create(sigc::mem_fun(*this, &BatchQueueEntryUpdater::processThread), (unsigned long int)0, true, true, Glib::THREAD_PRIORITY_LOW);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -204,7 +204,11 @@ void FileBrowserEntry::updateImage (rtengine::IImage8* img, double scale, rtengi
|
||||
param->img = img;
|
||||
param->scale = scale;
|
||||
param->cropParams = cropParams;
|
||||
#if __GNUC__ == 4 && __GNUC_MINOR__ >= 8 && defined( WIN32 ) && defined(__x86_64__)
|
||||
g_idle_add_full (G_PRIORITY_DEFAULT, updateImageUI, param, NULL);
|
||||
#else
|
||||
g_idle_add_full (G_PRIORITY_LOW, updateImageUI, param, NULL);
|
||||
#endif
|
||||
}
|
||||
|
||||
void FileBrowserEntry::_updateImage (rtengine::IImage8* img, double s, rtengine::procparams::CropParams cropParams) {
|
||||
|
@@ -70,10 +70,8 @@ public:
|
||||
{
|
||||
int threadCount=1;
|
||||
#ifdef _OPENMP
|
||||
#ifndef WIN32 // see Issue 2370
|
||||
threadCount=omp_get_num_procs();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
threadPool_=new Glib::ThreadPool(threadCount,0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user