Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.07.2011, 15:17
vinch вне форума Посмотреть профиль Отправить личное сообщение для vinch Найти все сообщения от vinch
  № 1  
Ответить с цитированием
vinch

Регистрация: Feb 2010
Сообщений: 95
По умолчанию Video на таймлайне ест fps после удаления

Здраствуйте.

Столкнулся со странным поведением экземпляра класса Video (которое я импортировал с внешнего flv файла в библиотеку Flash CS5.5). Он размещен на таймлайне одного клипа с классом TvSprite. Экземпляр TvSprite лежит внутри клипа-фона для меню. Все происходит так - грузится меню, создается фон, после нажатия на кнопку меню удаляется.

Проблема в том, что при каждом переходе видео на начало фпс падает с 30 до 25. Впрочем, важно не это, а то, что после удаления меню видео все равно отьедает фпс. Вставил на первый кадр клипа с видео trace("here", parent); - после удаления выводит here, null. Т.е., видео удаляется. Но все равно трейс выводится и видео крутится.

Как обьяснить такое поведение и как удалить видео?

UP: похоже, я где-то ошибся и дело не в видео
После его удаления все равно видет trace. Буду искать ошибку.


Последний раз редактировалось vinch; 21.07.2011 в 16:03.
Старый 21.07.2011, 16:05
Rzer вне форума Посмотреть профиль Отправить личное сообщение для Rzer Посетить домашнюю страницу Rzer Найти все сообщения от Rzer
  № 2  
Ответить с цитированием
Rzer
 
Аватар для Rzer

блогер
Регистрация: Feb 2007
Адрес: Spb
Сообщений: 613
Записей в блоге: 8
Отправить сообщение для Rzer с помощью ICQ
а ты останавливаешь видео перед удалением? Попробуй видео со звуком. Если звук не пропадает, значит видео где-то играется.

Старый 21.07.2011, 16:13
vinch вне форума Посмотреть профиль Отправить личное сообщение для vinch Найти все сообщения от vinch
  № 3  
Ответить с цитированием
vinch

Регистрация: Feb 2010
Сообщений: 95
Вообще не понимаю, что творится
Оказывается, дело не в видео. У меня в TVSprite несколько слоев, один из них - для flv видео, а на одном - трейс. Так вот, после удаления слоя с видео все равно трейс виден.

Все ссылки зануляю; у меня есть класс меню с "деструктором" - проверял, он вызывается. Само меню зануляется.
И спрайт с видео, и его родитель удаляются.

Почему же видео не удаляется сборщиком мусора и все равно крутится на фоне, с периодом в несколько секунд понижая фпс?

Rzer, если написать stop в "деструкторе" меню для спрайта, на таймлайне которого есть видео, снижение фпс прекращается, но меня все равно такое пугает.


Последний раз редактировалось vinch; 21.07.2011 в 16:16.
Старый 21.07.2011, 16:57
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 4  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
я думал прошли уже времена, когда люди пугались, что GC в AS такой не совсем понятный..
есть способы повлиять на него, вот такой, например http://silin.su/#AS3/utils/gc

Старый 21.07.2011, 20:22
vinch вне форума Посмотреть профиль Отправить личное сообщение для vinch Найти все сообщения от vinch
  № 5  
Ответить с цитированием
vinch

Регистрация: Feb 2010
Сообщений: 95
Так, новый неожиданный поворот.

После закрытия меню несколько секунд счетчик фпс показывает 500-1000
Все как будто на быстрой прокрутке - короче, фпс невероятно растет.

Это что, глюки плеера такие?
Тестировал на разных компьютерах/плеерах.

Я сделал так - выделил таймлайн с видео в отдельный клип и поместил его в последний кадр телевизора. А по окончанию меню перехожу на кадр, где нету видео, и они перестают создаваться.

Старый 21.07.2011, 20:26
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 6  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
FPS больше 120 быть не может. Это ваш счетчик неверно считает в какие-то моменты.
Я бы все делал кодом и не использовал кадры. В данном случае это более чем актуально.
__________________
тут я

Старый 21.07.2011, 20:32
vinch вне форума Посмотреть профиль Отправить личное сообщение для vinch Найти все сообщения от vinch
  № 7  
Ответить с цитированием
vinch

Регистрация: Feb 2010
Сообщений: 95
Да я все делаю кодом, кроме графики. Тут такой случай - для игрового туториала сделал видеоподсказки (спрайт телевизора, а внутри него видео), а потом экспортирую изображения телевизора с видео в swc.

Вод код счетчика:
Код AS3:
package
{
   import flash.display.Sprite;
   import flash.events.Event;
   import flash.system.System;
   import flash.text.TextField;
   import flash.utils.Timer;
 
   import game.*;
 
   public class FPS extends Sprite
   {
      private var counter:uint;
      private var counterDisplay:TextField;
 
     public function FPS()
      {
         counter=0;
         counterDisplay = new TextField();
         GameConst.STAGE.addChild(counterDisplay);
         addEventListener(Event.ENTER_FRAME, onEnterFrameEvent);
 
         var theTimer:Timer = new Timer(1000, 0);
         theTimer.addEventListener('timer',onTimerEvent);
         theTimer.start();
 
      }
 
      private function onEnterFrameEvent(event:Event):void
      {
         counter++;
      }
      private function onTimerEvent(event:Event):void
      {
         counterDisplay.text='FPS : '+ counter.toFixed(1);
         counter=0;
      }
   }
}
Удивительно, но все действительно выглядит, как будто фпс очень большой - анимация меняется и обьекты движутся с невероятной скоростью. Через 2-3 секунды фпс уменьшается до 30.


Последний раз редактировалось vinch; 21.07.2011 в 20:34.
Старый 21.07.2011, 20:39
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 8  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Код AS3:
GameConst.STAGE.addChild(counterDisplay);
Какая жесть.

Счетчик правильный. Вероятно там что-то адобовцы намудрили с видео. Какой плеер? Релиз-дебаг? Стандалон, плагин, activeX? А как выглядит в другом плеере?
__________________
тут я


Последний раз редактировалось КорДум; 21.07.2011 в 20:41.
Старый 21.07.2011, 20:50
vinch вне форума Посмотреть профиль Отправить личное сообщение для vinch Найти все сообщения от vinch
  № 9  
Ответить с цитированием
vinch

Регистрация: Feb 2010
Сообщений: 95
И тот, и тот плеер. И стандалон, и плагин. 10.3 и 10.1 (вроде бы).
На разных компьютерах.
Удаляю видео с "телевизора" - все нормально. Еще пару часов назад и с видео было все нормально; вроде бы, никаких существенных изменений не делал.
Так выглядит туториал (текст даже в ворде не проверял ): http://habrastorage.org/storage1/cd2...5/3bf67f75.png
После его закрытия - несколько секунд такого (слева вверху счетчик): http://habrastorage.org/storage1/7a4...c/73c67506.png


Последний раз редактировалось vinch; 21.07.2011 в 20:53.
Старый 21.07.2011, 20:55
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 10  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Хм. Интересно. Почитайте эту темку с комментариями и просто попробуйте сделать другой FPS метер.
ЗЫ. очень симпатичная графика.
__________________
тут я

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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