|
|
|||||
Регистрация: Apr 2009
Сообщений: 409
|
Выгрузка из VRAM #3691
Привествую, некоторые игроки стали жаловаться что иногда часть объектов в интерфейсе перестает отрисовываться.В лог, при попытке создания текстуры (100*100), идет ошибка
Error #3691 \tat starling.textures::Texture$/empty() \tat starling.textures::RenderTexture() Все текстуры загружатся по мере необходимости, так что проблема воникает на долгих сессиях. Места где текстуры создаются програмно - контролируются и очищаются, так что проблема врядли в утечке. Теперь собственно сам вопрос, как я понял проверить свободную видеопамять возможности нет, и прийдется хранить все ATF в памяти, и постоянно их пересоздавать в vRAM, насколько это рабочий подход, и как еще можно предотвратить возникновение этой ошибки? |
|
|||||
У тебя там RenderTexture используется?
Недавно у меня с ней был баг, который мне чуть мозг не взорвал. А проблема оказлась простая. В общем, суть была в том, что на разных устройствах разные размеры допустимой текстуры. У меня нормально тестировалась игра на компе, но при загрузке на телефон висла в процессе загрузки уровня. Подключил отладчик, и увидел проблему в том, что рендер текстура такого размера на телефоне не поддерживалась, хотя комп ее тянул. Я не говорю, что у тебя такая же проблема, но факт в том, что эти показатели не фиксированы, и могут варьироваться от устройства к устройству. Вполне может быть что на одном девайсе 128 мегабайт под текстуры, а на другом меньше 60. Так, информация к размышлению
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Регистрация: Apr 2009
Сообщений: 409
|
Render Texture используется только на аватарках 100*100, так что врядли их лимит. и игра браузерная, поэтому 128 мб должно быть фиксировано. Пока проблему решить так и не удалось..
|
|
|||||
Регистрация: Apr 2009
Сообщений: 409
|
ну да, в принципе с памятью любая ситуация может быть, но вылет фиксировано на 50-60 мб. Получается нет никакой возможности предотвратить это - не зная сколько свободной памяти, надо оборачивать в try и то не факт что заработает
|
|
|||||
Регистрация: Apr 2009
Сообщений: 409
|
Как я понял - не правильно считал размер текстур, там надо width*height домножать еще на 4
|
|
|||||
Со сжатием текстур вообще не угадаешь точно по размеру. По умолчанию вроде как включено.
Посмотри сколько "подымает" vram-мы при старте игры, например GPU-Z позволяет на графике глянуть. |
|
|||||
Регистрация: Apr 2009
Сообщений: 409
|
проблему решил обнулением всех текстур при исключении, и последующим их восстановлением по мере показа.
|
Часовой пояс GMT +4, время: 04:46. |
|
« Предыдущая тема | Следующая тема » |
|
|