При разработке нашей игры Cocos2d-x для Android мы недавно обновили ее, чтобы использовать только один набор высококачественных изображений (разрешение 1536 x 2272), а не несколько наборов изображений для разных разрешений экрана, и используя Cocos2d-x. setContentScaleFactor», позволяющий масштабировать изображение высокого качества в соответствии с разрешением экрана целевого устройства, например так:
resDirOrders.push_back( "ipadhd" );
CCSize resourceSize = CCSizeMake(1536, 2272);
director->setContentScaleFactor(resourceSize.height/frameSize.height);
fileUtils->setSearchPaths(resDirOrders);
Как ни странно, при тестировании игры мы заметили, что некоторые изображения, такие как кнопки меню, логотип игры, игровой персонаж, отображаются идеально, но другие изображения, такие как прокручиваемый фон, заставка, не отображаются вообще.
Мы думали, что такие проблемы могут возникнуть на устройствах с непроверенным разрешением экрана, но, как ни странно, например, некоторые изображения совершенно пусты / не отображаются на HTC ONE X (разрешение экрана: 720 x 1280), но отображаются идеально подходит для Moto X первого поколения с таким же разрешением экрана. Та же проблема была замечена при тестировании с двумя планшетами Android; некоторые изображения полностью пусты или не отображаются на Lenovo IdeaTab A1000 (разрешение экрана: 600 x 1024), но прекрасно отображаются на Samsung Galaxy Tab 3 с таким же разрешением экрана.
Любая идея, почему это может происходить? Существуют ли другие факторы, которые мы должны учитывать при использовании одного набора высококачественных изображений и их соответствующем масштабировании в зависимости от разрешения экрана целевого устройства?