![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 24.07.2011
Сообщений: 5
|
![]()
Всем привет!
Есть такой непростой (с точки зрения неопытного пользователя OpenGL) вопрос, касающийся текстур. Суть такова: программа рисует на экране некоторое изображение, которое состоит из множества текстур. Размер текстур не более чем 256x256. Их достаточно много (более 400). Для их отрисовки используется механизм имён для текстур (через glGenTextures и glBindTexture). На стационарной машине или ноутбуке всё работает нормально. Проблема возникает на Mac'е с Win XP: каждый кадр рисуется более секунды! Немного покопавшись я пришёл вот к чему: изображение состоит из 400 текстур, и приблизительно каждая 4я текстура требует 16ms на отрисовку (в то время как другие 3 отрисовываются менее чем за 1 ms). Т.е. каждый раз около 100 текстур требуют по 16ms, что в сумме даёт полторы секунды на кадр. Естественно это не приемлемо. Все текстуры находятся в равных условиях: загружаются и рисуются одним и тем же кодом. Но почему они рисуются со скоростями, отличающимися на порядок? ![]() Примечательно, что каждый раз разные текстуры требуют по 16ms, т.е., например, текстура номер 137 на предыдущем кадре потребовала 16ms, а не следующем ей понадобилось менее 1 ms чтобы отобразится на экране. Более того, если взять изображение по меньше (например в 100 текстур 256x256), то оно не тормозит и рисуется резво. На том же ноутбуке, но с Win 7к такой проблемы не возникает (там правда другая проблема). Предполагал, что дело в видеокарте, так как в Маке встроенная Intel'кая видеокарта. Быть может ей не хватает памяти, и часть текстур приходится "подгружать" из оперативки каждый раз. Пробовол обновить драйвера, но никакого эффекта. Вот такое дело. Ума не приложу, как избаиться от этого лага, и можно ли избавиться вообще, поэтому буду очень признателен любой помощи в этом вопросе! ![]()
"Восемнадцать лет, пять месяцев и утро ещё одного дня прожила на свете Люба Шевцова."
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Делфи.Текстуры.OpenGL | dark_sergey | Мультимедиа в Delphi | 3 | 19.12.2011 19:15 |
OpenGL. Текстуры. | _PROGRAMM_ | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 14 | 01.06.2011 20:32 |
OpenGL и текстуры | N!ckeL | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 7 | 05.05.2010 15:46 |
Текстуры OpenGl | Stanislav | Мультимедиа в Delphi | 7 | 17.12.2008 17:55 |
OpenGL текстуры | NoName_emaNoN | Win Api | 3 | 29.11.2007 20:11 |