Название: Обработка сигналов из потока Отправлено: burkav от Август 29, 2006, 23:12 Есть класс унаследованный от QThread - каждые 200 миллисекунд из run() он шлет signal с данными. Главный поток визуализирует эти данные. Примерно через 15-20 мин главный поток начинает обрабатывать эти сигналы "рывками" - тоесть если сначала интерфейс обновляется стабильно каждые 200 мс, то со временем наступают тормоза. Мне кажется забивается очередь событий, но пробовал qApp->ProcessEvents() - не помогает. Может кто сталкивался - подскажите.
Qt-4.1.4-x11 / SuSE Linux 9.3 Название: Обработка сигналов из потока Отправлено: Asaphus_Expansus от Август 29, 2006, 23:30 А память в обработчике сигналов не течет? Сколько памяти на старте приложение берет и сколько имеет через 20 минут? Так, буквально на всякий случай...
Название: Обработка сигналов из потока Отправлено: Admin от Август 30, 2006, 00:41 или еще вариант
если не успевают визуализироватся, то просто пропускать кадры Название: Обработка сигналов из потока Отправлено: burkav от Август 30, 2006, 11:02 Цитата: "Asaphus_Expansus" А память в обработчике сигналов не течет? Сколько памяти на старте приложение берет и сколько имеет через 20 минут? Так, буквально на всякий случай... Память не течет - точно. Проверял даже таким образом. В слоте (в гуевом потоке) ставлю одну единственную функцию label->setText(QTime::currentTime().toString("hh:mm:ss:zzz")) - таже самая фигня. добавлено спустя 2 минуты: Цитата: "Admin" или еще вариант если не успевают визуализироватся, то просто пропускать кадры Тут возникает вопрос: как узнать что не успевает визуализироваться и как пропускать кадры ? Название: Обработка сигналов из потока Отправлено: Admin от Август 30, 2006, 12:18 самый простой спосов флагом
типа if(!bDraw){ bDraw=true; //draw procedure bDraw=false; } Название: Обработка сигналов из потока Отправлено: burkav от Август 30, 2006, 18:23 Цитата: "Admin" самый простой спосов флагом типа if(!bDraw){ bDraw=true; //draw procedure bDraw=false; } А что-нибудь не "простое" можете посоветовать ? :-) |