Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.01.2010, 16:23   #1
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
Восклицание Загрузка данных в отдельном потоке

Здравствуйте ув. программисты и гейдейверы!
Обнаружил такую проблему: при загрузке текстур в опенГл в отдельном потоке а также при загрузке звуков в библиотеке bass в том-же потоке вылазит ошибка!
Если грузить в основном потоке то инфа грузится на ура.
Чувствую, что дело в хэндле, т.к. у потока он другой.
Подскажите пожалуйста, как загрузить текстуру/звук так, чтобы в основном потоке они отображались/звучали нормально.
Спасибо заранее!
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 17.01.2010, 17:33   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

может грузить сначало в память(это во внешнем) а уже в основном потоке создавать текстуру?(gl_CreateTexture)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.01.2010, 17:35   #3
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Да рад бы, дык боюсь захламить память таким образом)
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Старый 17.01.2010, 18:30   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

дык освобождать то надо
допустим вынесем в поток...загрузку твоих TGA в память...TGA_Header потом передавай основному потоку на обработку GL
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 17.01.2010, 21:53   #5
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Можно вопрос ?
А зачем грузить ресурсы в отдельном потоке (мне никогда не было необходимости)?
Вадим Буренков вне форума Ответить с цитированием
Старый 18.01.2010, 15:30   #6
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Потому, что если грузить в основном то мы видим чёрный экран на протяжении 8-10 секунд, а нужен ведь загрузчик, который будет без глюков отображать прогресс.
---
Добавлю еще, что сегодня удалось перенести все, кроме текстур во второй поток. Но все-же из-за некоторого количества текстур, которые таки грузятся в основном потоке, загрузчик подвисает на 2-3 секунды - мелочь а неприятно.
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг

Последний раз редактировалось Dj_smart; 18.01.2010 в 15:35.
Dj_smart вне форума Ответить с цитированием
Старый 18.01.2010, 16:08   #7
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
чёрный экран на протяжении 8-10 секунд
Сколько у тебя данных тогда ?
Вадим Буренков вне форума Ответить с цитированием
Старый 18.01.2010, 16:31   #8
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а ты сначало отобрази картинку, а потом начни грузить
можно после каждой текстуры перерисовывать и отображать прогресс.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 18.01.2010, 23:29   #9
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
Сколько у тебя данных тогда ?
Ну дык уровень имеет вес(его обработка занимает время), модели оружия, текстуры на меши, звуки, музыка, также видео-файлы, если таковы используются в качестве динамической текстуры)
Цитата:
можно после каждой текстуры перерисовывать и отображать прогресс
Идея неплохая, но уже решил обычным способом, который ты предлагал в начале: сначала загрузка данных в вторичном потоке а потом в основном потоке при помощи указателей создавать текстуры на основании данных из вторичного потока.
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка данных из файла JIK Помощь студентам 4 19.05.2013 12:17
Закачка файла происходит в отдельном потоке. Kyran29 Работа с сетью в Delphi 1 28.11.2009 01:19
Проблема с созданием окна(CreateWindow) в отдельном потоке Sc0rp Win Api 4 26.03.2009 22:49
Загрузка данных AlexMori Общие вопросы Delphi 2 15.11.2007 08:12
Запрос к БД в отдельном потоке (Thread) tyrell lab БД в Delphi 1 14.06.2007 08:42