Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   straling 10 fps на 200 объектах (http://www.flasher.ru/forum/showthread.php?t=207403)

faraday 15.04.2014 11:55

straling 10 fps на 200 объектах
 
Здравствуйте, решил попробовать написать что-нибудь для ios. выбрал в качве ФВ Starling
Написал небольшой бенчмарк с отрисовкой 200 вращающихся квадратов, код
Код AS3:

        public class  Game extends Sprite
        {
                  var t:Texture = Texture.fromBitmapData(new BitmapData(50,50));
                  var f:int = 0;
                public function Game() {
        addEventListener(Event.ENTER_FRAME, renders);       
        }
  function renders(e:Event) { 
  f++;
  if (f<150){
        var item:Image = new Image(t);
  addChild(item); item.x = Math.floor(Math.random() * 1136); item.y = Math.floor(Math.random() * 640);
            TweenLite.to(item, 60, { rotation:10 * 30 } );
  }}
}

Но при запуске на iphone 5, удалось достичь только 12 fps (6 мб опер. памяти), что на мой взгляд очень мало
Что я сделал не так, или это действительно предел возможностей для starling?
Сколько тогда будет fps при обычной отрисовке через display list?

Bletraut 15.04.2014 21:40

Выкладывайте код как положено через теги. И ссылки на файлопомойки запрещены!

faraday 15.04.2014 21:45

исправил

Bletraut 15.04.2014 21:55

Я не думаю что 200 квадратов это предел старлинга т.к. это всего-то 400 полигонов. Сейчас сам пишу игру с использование AIR + Starling у меня где-то около 400 анимированных объектов, выдает 60 фпс.

Я бы рекомендовал тебе создавать квадраты в цикле, а не в интер фрейме и попробовать не использовать твинлайт, может лаги и пропадут, хотя не уверен.

caseyryan 15.04.2014 22:20

У старлинга есть свой твин движок, который достаточно хорош. Почему бы не использовать его?

П.с. Кстати у меня сейчас тоже игра, в которой даже больше 400 полигонов одновременно на экране, и свободно выдает на айфоне (и на андроиде тоже, причем даже на китайских, не самых мощных zte) 60 кадров. А в игре помимо старлинга еще и нейп

Tails 15.04.2014 22:43

А что пишет старлинг? Через что происходит его инициализация? Мог подключится процессорный рендер, в случае проблем с gpu.

faraday 15.04.2014 23:14

Поставил juggler и доабвление в цикле, но результаты те же.
Код AS3:

        public class  Game extends Sprite
        {
                  var t:Texture = Texture.fromBitmapData(new BitmapData(15,15));
                  var f:int = 0;
                public function Game() {
                for (var i:int = 0; i < 200; i++ ) {
                var img:Image = new Image(t);
                var item:Sprite = new Sprite();
                item.addChild(img);
                addChild(item); item.x = Math.floor(Math.random() * 1136); item.y = Math.floor(Math.random() * 640);
                var tw:Tween = new Tween(item, 60); tw.animate('rotation',360); Starling.juggler.add(tw)
                //TweenLite.to(img, 60, { rotation:360 } );       
                }
                }
        }

в Main.as
Код AS3:

        var starling:Starling = new Starling(Game,stage,new Rectangle(0,0,1136,640));
starling.showStats = true;
starling.start();

Tails, ну в дебагер флеша на компе пишет directx , на телефоне хз как посмотреть. но явно процессорный рендеринг нигде не укзаан.

ZackMercury 16.04.2014 00:35

Цитата:

но явно процессорный рендеринг нигде не укзаан.
Вроде бы, он стоит по умолчанию и меняется в настройках проэкта.
Нет-нет, там по умолчанию стоит "автоматически".

Tails 16.04.2014 00:45

http://help.adobe.com/ru_RU/FlashPla...tml#driverInfo
Что выводит?

faraday 16.04.2014 01:05

на устройстве пишет OpenGL(Baseline Constrained)


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

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