Jump to content
Search Community

laugre

Members
  • Posts

    5
  • Joined

  • Last visited

Posts posted by laugre

  1. Hi Carl,

     

    Thx for your answer.

     

    The only difference I can see in your demo is that each case is a blitmask and is spinning itself independantly.

    In my app, items of a column have to spin together, so my masked area is bigger, 265 x 830p, if I reduce the masked area to 265 x 265, my fps is 60.

     

     

  2. Hi blitmaskers,

     

    Im developing a full hd dual screen air app that display a slot machine on one screen.

    My slot machine get 6 columns, each loading 6 (265p x 265p) pictures. 

    I use a blitmask (265p x 830p) on each column to spin it.

    But once I create the 6 blitmasks I'm loosing 30fps.

    If I disable bitmap mode my fps stay at 60fps.

    But I have to let the spin work while doing something on the other screen in my same app.

     

    Do I have something wrong in my code ?

    Or do I reach perf limits ?

    Could I improve that ?

     

    Here is my code :

    /**
    		 * loadPhotos
    		 */
    		public function loadPhotos() : void
    		{
    			var directory : File = File.applicationDirectory.resolvePath(Common.s_presetManager.getPresetStringValue("/records"));
    			pathList = directory.getDirectoryListing();
    			
    			if (pathList[0].name == ".DS_Store")
    			{
    				pathList.shift();
    			}
    			
    			var lineItemNB : Array = new Array();
    			for (i = 0; i < m_vignetteNb; i++)
    			{
    				lineItemNB.push(1);
    			}
    			
    			m_photoLoader = new LoaderMax({name:"photoLoader", onComplete:completeHandler});
    			for (i = 0; i < pathList.length; i++)
    			{
    				var line : int;
    				if (String(pathList[i].url).charAt(17) == '0')
    					line = int(String(pathList[i].url).substr(18, 1)) - 1;
    				else
    					line = int(String(pathList[i].url).substr(17, 2)) - 1;
    				
    				m_photoLoader.append( new ImageLoader(pathList[i].url, { container : m_columns[lineItemNB[line]], x : 0, y : line * (265+17), width : 265, height : 265 }) );
    				lineItemNB[line]++;
    			}
    			
    			m_photoLoader.load();
    		}
    
    private function completeHandler(event : LoaderEvent) : void
    		{
    			Common.s_logManager.write("[log] vignettes loaded");
    			trace("[log] vignettes loaded");
    			
    			var blitMask1 : BlitMask = new BlitMask(m_columns[0], m_columns[0].x, m_columns[0].y, m_columns[0].width, 829, false, true, 0xffffff, true);
    			var blitMask2 : BlitMask = new BlitMask(m_columns[1], m_columns[1].x, m_columns[1].y, m_columns[1].width, 829, false, true, 0xffffff, true);
    			var blitMask3 : BlitMask = new BlitMask(m_columns[2], m_columns[2].x, m_columns[2].y, m_columns[2].width, 829, false, true, 0xffffff, true);
    			var blitMask4 : BlitMask = new BlitMask(m_columns[3], m_columns[3].x, m_columns[3].y, m_columns[3].width, 829, false, true, 0xffffff, true);
    			var blitMask5 : BlitMask = new BlitMask(m_columns[4], m_columns[4].x, m_columns[4].y, m_columns[4].width, 829, false, true, 0xffffff, true);
    			var blitMask6 : BlitMask = new BlitMask(m_columns[5], m_columns[5].x, m_columns[5].y, m_columns[5].width, 829, false, true, 0xffffff, true);
    			
    //			blitMask1.disableBitmapMode();
    //			blitMask2.disableBitmapMode();
    //			blitMask3.disableBitmapMode();
    //			blitMask4.disableBitmapMode();
    //			blitMask5.disableBitmapMode();
    //			blitMask6.disableBitmapMode();
    		}
    
  3. Hi,

     

    My app has to be an AIR app.

    I solved the problem by replacing VideoLoader by FLVPlayback.

     

    But I reduced my app to the simplest app to test it in a fla.

    I don't have the time to do more tests with a standalone flash player but feel free to do it.

     

    Here is a zip file containing test project to reproduce the bug.

    The 4 flv videos are not inside (about 20Mo) but I can send to you via wetransfer.

     

    Best,

    laugre.

    test.zip

  4. A bit more information.

     

    In my app (AIR app) when I arrive on the 4 videos screen, I play them :

    public function startVideos() : void
    {
    	trace("video1 time", m_loader1.videoTime);
    	trace("video2 time", m_loader2.videoTime);
    	trace("video3 time", m_loader3.videoTime);
    	trace("video4 time", m_loader4.videoTime);
    			
    	m_loader1.gotoVideoTime(0, true);
    	m_loader2.gotoVideoTime(0, true);
    	m_loader3.gotoVideoTime(0, true);
    	m_loader4.gotoVideoTime(0, true);
    }
    

    Then when I quit this screen I pause videos and goto 0s head position :

    public function stopVideos() : void
    {
    	m_loader1.pauseVideo();
    	m_loader2.pauseVideo();
    	m_loader3.pauseVideo();
    	m_loader4.pauseVideo();
    			
    	m_loader1.gotoVideoTime(0);
    	m_loader2.gotoVideoTime(0);
    	m_loader3.gotoVideoTime(0);
    	m_loader4.gotoVideoTime(0);
    }
    

    When the problem occurs, if I call stopVideos() and then startVideos(), 

    videos that was blocked stay blocked on first frame and time trace instructions (inside startVideos() function) indicate a strange value 2.067 or 2.033 instead of 0.

     

    What could explain this ?

     

    Best,

    laugre.

  5. Hi there and thx for support.

    Before creating a new topic I found this one http://greensock.com/forums/topic/6567-video-stop-between-loop/
    but it's not exactly the same problem.

     

    I'm loading 4 different flvs (short time each between 1 and 2 minutes)  using a LoaderMax that have to repeat indefinitly (until the user stop it of course).

    After a time videos stop repeating one after the other. They are well rewinded to 1st frame but seem to not be played again.

    If I wait a very long time (2h repeating) the 4 videos seem to become blocked on 1st frame.

    I first tried to declare repeat property as -1 like this :

    m_loader1 = new VideoLoader("flv1.flv", {name:"subCol", container:m_interface.subtileScreen, repeat:-1, width:590, height:350, autoPlay:false, visible:true });
    m_loader2 = new VideoLoader("flv2.flv", {name:"subJoie", container:m_interface.subtileScreen, repeat:-1, width:590, height:350, autoPlay:false, visible:true });
    m_loader3 = new VideoLoader("flv3.flv", {name:"subSur", container:m_interface.subtileScreen, repeat:-1, width:590, height:350, autoPlay:false, visible:true });
    m_loader4 = new VideoLoader("flv4.flv", {name:"subTrist", container:m_interface.subtileScreen, repeat:-1, width:590, height:350, autoPlay:false, visible:true });
    
    
    m_loader = new LoaderMax({name:"subtile"});
    m_loader.append(m_loader1);
    m_loader.append(m_loader2);
    m_loader.append(m_loader3);
    m_loader.append(m_loader4);
    
    m_loader.load();
    
    

    I also tried to comment repeat:-1 and handle myself play and complete events for each video like this :
     

    m_loader1.addEventListener(VideoLoader.VIDEO_PLAY, onVideo1Play);
    m_loader1.addEventListener(VideoLoader.VIDEO_COMPLETE, onVideo1End);
    
    private function onVideo1Play(event : LoaderEvent) : void 
    {
    	trace("[log] onVideo1Play " + event.currentTarget.name + " video time " + event.currentTarget.videoTime);
    }
    
    private function onVideo1End(event : LoaderEvent) : void 
    {
            trace("[log] onVideo1End " + event.currentTarget.name + " video time " + event.currentTarget.videoTime);
    	m_loader1.gotoVideoTime(0, true);
    }
    

    And same behaviour, onVideo1End is called that rewind video to 0s, but video is not played even if forceplay = true.
    However onVideo1Play is called after onVideo1End.

    I think I have something wrong... 
    Could you help me please ?

     

    Best,

    laugre

×
×
  • Create New...