splash screen и потоки
От: 5ynthet1c  
Дата: 10.09.04 08:01
Оценка:
Господа, может кто нить сталкивался?
Имеется приложение, в котором во время инициализации показывается splash screen. Для того, чтобы он мог корректно перерисовываться, форма с ним открывается в другом потоке. По окончании инициализации splash закрывается. Внимание, вопрос : на некоторых машинах после закрытия формы со splash'ем наблюдается загрузка процессора на 100%, причем грузят его потоки с именами, то "gdi+window", то "<название приложения> broadcast thread". Вспомогательный поток завершается корректно; если его создавать, но формы в нем не открывать, проблема исчезает. Хотелось бы знать в чем дело и/или как с этим бороться?
Re: splash screen и потоки
От: 5ynthet1c  
Дата: 10.09.04 08:15
Оценка:
сорри, ошибся с названиями потоков
"<название приложения> broadcast event window"
"GDI+ Window"
Re: splash screen и потоки
От: orangy Россия
Дата: 10.09.04 12:48
Оценка:
Здравствуйте, 5ynthet1c, Вы писали:

5>Господа, может кто нить сталкивался?

5>Имеется приложение, в котором во время инициализации показывается splash screen. Для того, чтобы он мог корректно перерисовываться, форма с ним открывается в другом потоке. По окончании инициализации splash закрывается. Внимание, вопрос : на некоторых машинах после закрытия формы со splash'ем наблюдается загрузка процессора на 100%, причем грузят его потоки с именами, то "gdi+window", то "<название приложения> broadcast thread". Вспомогательный поток завершается корректно; если его создавать, но формы в нем не открывать, проблема исчезает. Хотелось бы знать в чем дело и/или как с этим бороться?
Скорее всего ты обращаешься к окнам, созданным в одном потоке, из другого потока. Например, когда закрываешь форму сплэша. Копай в сторону Control.BeginInvoke
... << RSDN@Home 1.1.4 beta 2 >>
"Develop with pleasure!"
Re[2]: splash screen и потоки
От: 5ynthet1c  
Дата: 10.09.04 13:33
Оценка:
Здравствуйте, orangy, Вы писали:

O>Скорее всего ты обращаешься к окнам, созданным в одном потоке, из другого потока. Например, когда закрываешь форму сплэша. Копай в сторону Control.BeginInvoke


Отнюдь, форма создается и закрывается в том же потоке, который ее создал. Больше к ней никто не обращается.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.