57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
|
|
1 | |
Использование текстурных юнитов несколькими приложениями11.09.2015, 23:56. Показов 1924. Ответов 8
Метки нет (Все метки)
Здравствуйте!
Вопрос нубский, но не смог найти ответ... Как я понял, текстурные слоты это блоки памяти в видеокарте, которые могут хранить изображения. И их количество ограничено. Тогда при работе с OpenGL мне надо как-то проверять, что возможно текстурный слот уже используется другим приложением для отрисовки? И где гарантия, что мою текстуру не перезапишет другое приложение? Кто знает, объясните, пожалуйста, как OpenGL работает для нескольких приложений? Он как-то сам выгружает и подгружает текстуры в текстурные блоки по необходимости?
0
|
11.09.2015, 23:56 | |
Ответы с готовыми решениями:
8
Создание и использование юнитов Создание и использование юнитов Разделение вычисления между несколькими приложениями Для Работы с несколькими приложениями, графикими редакторами |
39 / 39 / 11
Регистрация: 05.09.2015
Сообщений: 262
|
|
12.09.2015, 00:10 | 2 |
Не задумывался настолько глубоко, и насчёт разных приложений, но про
Добавлено через 2 минуты Запрос в поисковик "glGenTextures, glBindTexture, gluBuild2DMipmaps".
0
|
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
|
|
12.09.2015, 00:10 [ТС] | 3 |
0
|
1824 / 732 / 99
Регистрация: 01.10.2012
Сообщений: 3,750
|
|
12.09.2015, 08:26 | 4 |
Первый раз об этом слышу, но есть фундаментальное понятие "контекст", отсюда и пляшите. Вот навскидку первая ссылка. В общем, надо сильно постараться чтобы использовать неск приложениями
1
|
656 / 237 / 46
Регистрация: 24.01.2013
Сообщений: 726
|
|
12.09.2015, 11:29 | 5 |
Сообщение было отмечено contedevel как решение
Решение
Текстурный юнит и сама текстура это разные вещи, и количество загруженных текстур не имеет ничего общего с количеством текстурных слотов.
Текстурный юнит/слот это аппаратный блок в видеокарте, который осуществляет выборку и фильтрацию текселей из текстуры. Ну а сама текстура это уже блок памяти. Прикладная (не системная) программа не может и не должна знать ничего о других программах. А загрузка видеопамяти это забота исключительно драйвера видеокарты. Даже если ваша текстура не влезет в память видеокарты, то на работу программы это не повлияет, т.к. драйвер кеширует все загруженные графические ресурсы в оперативной памяти. Если случится так, что текстура данного приложения будет вытеснена из видеопамяти, то это приведет только к падению фпс.
1
|
57 / 55 / 13
Регистрация: 07.10.2012
Сообщений: 606
|
|
12.09.2015, 12:54 [ТС] | 6 |
Спасибо за подробный ответ!
Можно я еще по функциям openGL спрошу чуть позже, просто на работе сейчас?
0
|
656 / 237 / 46
Регистрация: 24.01.2013
Сообщений: 726
|
|
12.09.2015, 13:00 | 7 |
Стучите, и вам откроют.
0
|
3 / 3 / 1
Регистрация: 25.03.2009
Сообщений: 76
|
|
12.09.2015, 13:19 | 8 |
Текстурный юнит содержит в себе указатель на текстурный сэмплер. Текстурный сэмплер это сама текстура + её личные настройки. В шейдерах вы работаете с указателем на текстурный юнит.
Не могу быть в вашем вопросе правдой в последней инстанции, но текстурные юниты выделяются отдельно для каждого графического процесса. Иначе возникла бы та же самая проблема, что и при проектировании процессорных конвейеров, где разные команды на разной стадии могли использовать одни и теже ресурсы, что приводило к коллизиям, блокировкам и тд.
0
|
656 / 237 / 46
Регистрация: 24.01.2013
Сообщений: 726
|
|
12.09.2015, 13:35 | 9 |
Добавлю еще один штрих для лучшего понимания общей картины работы GPU -
не смотря на то что в GPU много шейдерных процессоров, в один данный момент времени может выполняться только одна шейдерная программа. Т.е. получается если в системе запущено несколько графических приложений, то драйвер выделяет им время GPU по очереди. Отсюда следует независимость по текстурным юнитам и др. ресурсам GPU.
0
|
12.09.2015, 13:35 | |
12.09.2015, 13:35 | |
Помогаю со студенческими работами здесь
9
Управление несколькими различными приложениями MS Office из одного макроса Создать постоянно действующие каналы между несколькими одновременно работающими приложениями Использование одной базы 2-мя приложениями Использование одного соединения разными приложениями Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |