|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Падение fps в неактивном режиме
Всем привет.
Заметил что в фоне приложение перестает работать. Был слеплен анализатор, который выводит логи в файл. Оказывается air принудительно занижает fps после нескольких минут работы до 0, что мне совсем не нужно. Что я пробывал: URLRequestDefaults.idleTimeout = ApplicationSettings.IDLE_TIMEOUT; // 1000 * 60 * 60000 //NativeApplication.nativeApplication.systemIdleMode = SystemIdleMode.KEEP_AWAKE; NativeApplication.nativeApplication.executeInBackground = true; NativeApplication.nativeApplication.idleThreshold = 85000; по таймеру, по onDeactivate Ничего из вышеперечисленного мне не помогло. Fps все равно проседает до 0. Смотрю fps так: air sdk compiler: 18.0.0.180 air installer: 18.0.0.199 Есть идеи? |
|
|||||
Регистрация: Dec 2010
Адрес: Ярославль
Сообщений: 1,255
|
Зачем вам это нужно?
AIR и FlashPlayer понижают фпс для экономии ресурсов и батареи. |
|
|||||
Цитата:
public function enable(stage:Stage, view:Class):void { Debug.log( 'StarlingService enable'); if (!_starling) { Starling.handleLostContext = true; Starling.multitouchEnabled = true; _starling = new Starling(view, stage); _starling.addEventListener(starling.events.Event.ROOT_CREATED, onStarlingEvent); _starling.addEventListener(starling.events.Event.CONTEXT3D_CREATE, onStarlingEvent); _starling.addEventListener(starling.events.Event.FATAL_ERROR, onStarlingEvent); _starling.addEventListener(starling.events.Event.PARSE_ERROR, onDebugEvent); _starling.addEventListener(starling.events.Event.IO_ERROR, onDebugEvent); _starling.addEventListener(starling.events.Event.TEXTURES_RESTORED, onDebugEvent); _starling.simulateMultitouch = true; _starling.antiAliasing = 0; _starling.showStats = false; _starling.enableErrorChecking = false; _starling.start(); this.stage = stage; this.stage.addEventListener(flash.events.Event.RESIZE, stage_resizeHandler, false, int.MAX_VALUE, true); NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, onInvokeEvent); // "solt" if(Capabilities.cpuArchitecture == "ARM" || sleepMode ) { NativeApplication.nativeApplication.addEventListener(flash.events.Event.DEACTIVATE, stage_deactivateHandler, false, 0); } } } protected function onInvokeEvent(event:InvokeEvent):void { Debug.log('Invoke'+event.reason+' :: '+event.arguments) } private function onDebugEvent(e:starling.events.Event):void { Debug.log('onDebugEvent > '+e.data+':'+this); } private function onStarlingEvent(e:starling.events.Event):void { Debug.log(e.data+' > '+e.type+' : '+this); switch (e.type) { case starling.events.Event.CONTEXT3D_CREATE: contextCreated = true; break; case starling.events.Event.ROOT_CREATED: rootCreated = true; break; case starling.events.Event.FATAL_ERROR: Debug.alert(this,e.type); return; } if (contextCreated && rootCreated) this.dispatchEvent( new flash.events.Event(BaseStarlingService.STARLING_ON_READY ) ); } public function get starling():Starling { return _starling; } private function stage_resizeHandler(event:flash.events.Event):void { _starling.stage.stageWidth = this.stage.stageWidth; _starling.stage.stageHeight = this.stage.stageHeight; const viewPort:Rectangle = _starling.viewPort; viewPort.width = this.stage.stageWidth; viewPort.height = this.stage.stageHeight; try { _starling.viewPort = viewPort; } catch(error:Error) {} } private function stage_deactivateHandler(event:flash.events.Event):void { _starling.stop(true); Starling.current.nativeStage.frameRate = .1; // Starling.current.nativeStage = stage reference NativeApplication.nativeApplication.addEventListener(flash.events.Event.ACTIVATE, stage_activateHandler, false, 0, true); } private function stage_activateHandler(event:flash.events.Event):void { NativeApplication.nativeApplication.removeEventListener(flash.events.Event.ACTIVATE, stage_activateHandler); Starling.current.nativeStage.frameRate = 60; _starling.start(); if ( this.stage ) this.stage.quality = this.stage.quality ; } Цитата:
Есть достаточно функциональный велосипед для отладки, который сам использую.
__________________
return this... Последний раз редактировалось AlexCooper; 08.09.2015 в 04:56. |
Часовой пояс GMT +4, время: 15:42. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|