Выгрузка из VRAM #3691
Привествую, некоторые игроки стали жаловаться что иногда часть объектов в интерфейсе перестает отрисовываться.В лог, при попытке создания текстуры (100*100), идет ошибка
Код AS3:
Код AS3:
|
У тебя там RenderTexture используется?
Недавно у меня с ней был баг, который мне чуть мозг не взорвал. А проблема оказлась простая. В общем, суть была в том, что на разных устройствах разные размеры допустимой текстуры. У меня нормально тестировалась игра на компе, но при загрузке на телефон висла в процессе загрузки уровня. Подключил отладчик, и увидел проблему в том, что рендер текстура такого размера на телефоне не поддерживалась, хотя комп ее тянул. Я не говорю, что у тебя такая же проблема, но факт в том, что эти показатели не фиксированы, и могут варьироваться от устройства к устройству. Вполне может быть что на одном девайсе 128 мегабайт под текстуры, а на другом меньше 60. Так, информация к размышлению |
Render Texture используется только на аватарках 100*100, так что врядли их лимит. и игра браузерная, поэтому 128 мб должно быть фиксировано. Пока проблему решить так и не удалось..
|
Цитата:
|
ну да, в принципе с памятью любая ситуация может быть, но вылет фиксировано на 50-60 мб. Получается нет никакой возможности предотвратить это - не зная сколько свободной памяти, надо оборачивать в try и то не факт что заработает
|
Как я понял - не правильно считал размер текстур, там надо width*height домножать еще на 4
|
Со сжатием текстур вообще не угадаешь точно по размеру. По умолчанию вроде как включено.
Посмотри сколько "подымает" vram-мы при старте игры, например GPU-Z позволяет на графике глянуть. |
проблему решил обнулением всех текстур при исключении, и последующим их восстановлением по мере показа.
Код AS3:
|
Часовой пояс GMT +4, время: 09:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.