Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Bitmap

4.4K
17 июля 2003 года
GLFox
4 / / 17.07.2003
Может кто-нить подскажет...
У меня три нитки (потока):
одна делает битмапы (шотит скрин)
вторая их сохраняет
третья чистит за ними память
Так вот. Во второй нитке работает GetDIBits,
и работает он почему-то недолго.
Начинает возвращать 0 (zero).
А GetLastError сообщает, что "операция завершена успешно".
Может есть какие-нить шаманские штучки при работе с GetDIBits?
4.1K
19 июля 2003 года
Shnobell
10 / / 13.06.2003
Цитата:
Originally posted by GLFox
Может кто-нить подскажет...
У меня три нитки (потока):
одна делает битмапы (шотит скрин)
вторая их сохраняет
третья чистит за ними память
Так вот. Во второй нитке работает GetDIBits,
и работает он почему-то недолго.
Начинает возвращать 0 (zero).
А GetLastError сообщает, что "операция завершена успешно".
Может есть какие-нить шаманские штучки при работе с GetDIBits?



У тебя потоки синхронизованы?

4.4K
22 июля 2003 года
GLFox
4 / / 17.07.2003
Цитата:
Originally posted by Shnobell


У тебя потоки синхронизованы?



Ясен перец, что синхронизированы.
Юзаем CriticalSection, но это в общем-то
слабо помогает.
У меня есть сомнение насчет GetDIBits,
потому как описалово в SDK какое-то не конкретное...

4.1K
23 июля 2003 года
Shnobell
10 / / 13.06.2003
Цитата:
Originally posted by GLFox


Ясен перец, что синхронизированы.
Юзаем CriticalSection, но это в общем-то
слабо помогает.
У меня есть сомнение насчет GetDIBits,
потому как описалово в SDK какое-то не конкретное...



А можно вопрос:
Если у тебя 3 потока, причем (скорее всего) с одним приоритетом т.к. выполняются одновременно, и должны работать жестко синхронно, то нахрен три? По мне лучше все в один поток.

А с функцией GetDIBIts помочь не могу, не работал с ней, а в SDK действительно как-то... лево

4.4K
24 июля 2003 года
GLFox
4 / / 17.07.2003
В том и фишка! Потоки не синхронизированы.
Синхронизация работает только при изменении критических данных.
Первый поток работает строго по интервалу и не должен задерживаться на всякие мелочи (типа дисковые операции и т.п.).
А остальные -- уже как бог на душу положит (их работа не критична по времени)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог