• Content Count

  • Joined

  • Last visited

Community Reputation

0 Newbie

About laugre

  • Rank
  1. laugre

    Blitmask perf on a slot machine

    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. laugre

    VideoLoader loop error

    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.
  4. laugre

    VideoLoader loop error

    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. laugre

    VideoLoader loop error

    Hi there and thx for support. Before creating a new topic I found this one 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 " + + " video time " + event.currentTarget.videoTime); } private function onVideo1End(event : LoaderEvent) : void { trace("[log] onVideo1End " + + " 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