Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [Starling] Error #3675: Texture format mismatch (http://www.flasher.ru/forum/showthread.php?t=209509)

mikhailk 17.11.2014 17:23

Error #3675: Texture format mismatch
 
Приложение AIR работает в отладчике и на планшете. Но при попытке запуститься на смартфоне (GalaxySII) вылезла вот такая ошибка. Текстуры гружу через штатный AssetManager.

Никто не сталкивался?

Погуглил в Инете - предлагают отказываться от AssetManager'а.

Zebestov 17.11.2014 17:36

Може размер?

mikhailk 17.11.2014 17:43

Закончилась память оперативная?

Все текстуры аккуратно пакую TexturePacker'ом под Starling.
Ошибка появилась после того, как добавил текстур.

Zebestov 17.11.2014 17:53

Ну вот советуют грузить не асинхронно, а синхронно, и проблема уйдет.

mikhailk 17.11.2014 18:09

ну да, вижу

Цитата:

You can add assets directly (via the 'add...' methods) or asynchronously via a queue.
Жаль. Грузить через assets.loadQueue было удобно. смотрю, для синхронной загрузки опять ручками писать придется...

Добавлено через 22 минуты
В общем, серия опытов показала, что дело не именно в текстурах. Убрал подключаемую swc-библиотеку и текстуры прекрасно загрузились. Видимо, какой-то конфликт в другом месте.

Zebestov 17.11.2014 18:53

Ну последи все же, бо я там нагуглил жалобу на проявление ошибки при множестве загрузок/выгрузок.

mikhailk 17.11.2014 22:49

Да. Какая-то проблема все равно присутствует.
Придется переходить к синхронной загрузке.

caseyryan 18.11.2014 06:48

Цитата:

Придется переходить к синхронной загрузке.
Будет другая проблема - подвисание во время загрузки)
Цитата:

Да. Какая-то проблема все равно присутствует.
А какая именно?
Просто сейчас у меня по такой же схеме работает и графики все больше и больше. Вдруг тоже вылезет

mikhailk 18.11.2014 11:09

Проблема вылезает как "Error #3675: Texture format mismatch" при сборке интерфейса. Сама по себе загрузка проходит штатно. Тестирую на планшете Galaxy Tab 3 7.0 Lite - там все нормально. Загружается и вполне себе крутится. Запускаю на смартфоне Galaxy SII - загружается более-менее, работает с трудом, потом крашится с этой ошибкой при попытке собрать одно из интерфейсных окон.

Объем ассетов, по идее, детский - 15Мб. Максимальный вес одного спрайтшита - немного больше 2Мб. Все размеры в норме (меньше 2048х2048).

Пока не ясно, в чем дело.


ЗЫ. Да, при краше смартфон зависает, иногда намертво.

mikhailk 16.12.2014 18:58

Что-то у меня нет ясности.
Сделал синхронную загрузку, но видимо дело не в этом.

Унаследовался от AssetManager и гружу ассеты последовательно через loadRawAsset. Ошибка "Error #3675: Texture format mismatch" вылетает на Texture.fromBitmap.

Причем, от текстуры не зависит. Менял их местами, сортировал по-разному. Такое ощущение, что подхожу к ограничению по памяти. В общем, нужны идеи.

Код AS3:

function onAssetLoaded( rawAsset : Object ) : void
{
        var assetName : String = assetList[currentAsset].name;
        var extension : String = getExtensionFromUrl( assetList[currentAsset].asset );
 
        switch ( extension )
        {
                case 'xml' :
                        addXml( assetName, XML( rawAsset ) );
                        break;
 
                case 'png' :
                        var atlasTextureXML : XML = getXml( assetName );
                        var atlasTexture : Texture = Texture.fromBitmap( rawAsset as Bitmap );
                        var textureAtlas : TextureAtlas = new TextureAtlas( atlasTexture, atlasTextureXML );
                        addTextureAtlas( assetName, textureAtlas );
        }
 
        loadNextAsset();
}



Часовой пояс GMT +4, время: 15:55.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.