Страница: 1 | 2 |
Вопрос: Не могу сообразить :-(, выручайте!
Добавлено: 13.01.08 04:25
Автор вопроса: ника
Ответы
Всего ответов: 26
Номер ответа: 16
Автор ответа:
ника
Вопросов: 1
Ответов: 111
Профиль | | #16
Добавлено: 14.01.08 17:13
Боюсь, что так не выйдет. Тот массив заполняется сам по себе в отдельном потоке, можно конечно замутить с синхронизаций потоков, но не в данной ситуации. Тогда как вариант, проще сделать следующее: Один поток готовит кадры эффекта и складывает их в очередь, а второй уже будет брать из этой очереди и показывать юзеру через определенный интервал для плавности. Разумеется все это придется делать как ты и сказал через критическую секцию.. Другого варианта я не вижу
Номер ответа: 17
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #17
Добавлено: 14.01.08 19:08
Зачем потоки? Ну если только для GDI.
В том же OGL, DX подготовка изображения происходит в так называемом заднем буфере. Потом указатель просто переключается. А происходит это втот момент когда изображение будет готово.
Двух буферов вполне достаточно для отличной анимации.
И не нужно никаких очередей и синхронизаций. Это в том плане, что все уже сделано и продумано.
А DX8 сейчас стоит практически на любой машине.
//-------
И не нужно никаких очередей. Вполне хватит двух буферов. И в одном потоке. Потому как задачей этого потока будет именно подготовка изображения. А переключение указателя, как и расчет интервала времени не такая трудоемкая задача ради которой стоит заводить второй поток.
Номер ответа: 18
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #18
Добавлено: 14.01.08 20:14
И еще. В принципе у меня стоит в ближайшем будущем подобная задача, только на Java для мобилок. Поэтому мне интересно помочь. Это поможет и мне. Хотя может проще декомпилить готовую прогу
//------
В задаче существуют три момента, которые нужно синхронизировать и которые особенно учитывая управляемый код, будут влиять на качество.
1. Закгрузка изображения.
2. Показ (с эффектами или без).
3. Освобождение ресурса.
Номер ответа: 19
Автор ответа:
ника
Вопросов: 1
Ответов: 111
Профиль | | #19
Добавлено: 14.01.08 21:41
vito: А не затруднит Вас набросать пример для того же DX8?
Номер ответа: 20
Автор ответа:
ника
Вопросов: 1
Ответов: 111
Профиль | | #20
Добавлено: 14.01.08 21:51
на C# рарумеется..
Номер ответа: 21
Автор ответа:
vito
Разработчик Offline Client
Вопросов: 23
Ответов: 879
Web-сайт:
Профиль | | #21
Добавлено: 14.01.08 21:58
ника
Чертовски затруднит Вот если бы я мог увеличивать число часов в сутках, тогда без проблем
//--
Впрочем, через пару недель мне прийдется делать это на Java, без всяких DX. А языки эти схожи, как и виртуалка. Вдобавок у мена будут крайне жесткие требования к ресурсам. А это и производительность проца и размер хипа.
Так что если подождешь, или уже что -то свое сделаешь, то это будет только плюс.
//------
А переписать под шарп, никаких проблем не будет.
Номер ответа: 22
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #22
Добавлено: 14.01.08 23:08
Ты точно знаешь, что такое критическая секция?
Номер ответа: 23
Автор ответа:
ника
Вопросов: 1
Ответов: 111
Профиль | | #23
Добавлено: 14.01.08 23:46
Если я правильно поняла, то ты говоришь о блокировке объекта(в моем случае массива) на время доступа, чтобы исключить возможность одновременного доступа из разных потоков?
Номер ответа: 24
Автор ответа:
Winand
Вопросов: 87
Ответов: 2795
Web-сайт:
Профиль | | #24
Добавлено: 15.01.08 00:00
Вот чем хорош VB Там либо можно нечто реализовать одним-двумя способами, либо можно но-задолбаешься-так-что-лучше-не-надо.
Номер ответа: 25
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #25
Добавлено: 15.01.08 11:19
Если есть возможность попробуй на WPF сделать.
Для чего-то более серьезного чем демку я бы не рекомендовал его использовать, но для анимации он идеально подходит.
Номер ответа: 26
Автор ответа:
ника
Вопросов: 1
Ответов: 111
Профиль | | #26
Добавлено: 15.01.08 17:28
Steel Brand: увы, возможности нет: FW 2.0