On 09/23/16 14:32, Carsten Haitzler (The Rasterman) wrote: > On Tue, 20 Sep 2016 08:09:20 +0300 Viacheslav Reutskiy > <reutskiy....@gmail.com> > said: > >> Hello, everyone. >> >> I want to ask about ecore animator, rather edje animation, and ecore_job. >> I have a next flow: >> - run ecore_exe; >> - play animation by edje, load object or emit signal to, already, created >> object; >> - handle ECORE_EXE_EVENT_DATA event. >> >> In this case edje animation work properly, but if I add any ecore_job's in >> callback for ECORE_EXE_EVENT_DATA, those jobs are run at the first onset. >> While jobs is small and their little all ok, edje play animation well done. >> But if I have a lot of jobs, 1000 and more animation is freezed, while jobs >> is not finished. >> >> Why it happen? Because, all jobs run after add. This can be clearly seen on >> screenshort from evlog (link >> <https://drive.google.com/file/d/0B4etXaV0O_4ceVN1TEVvZ2o2Z1U/view?usp=sharing>). >> >> So my question: is it normal behavior or jobs should to mix with render? > well... jobs are queued in the event loop handling "at the end of event > handling" ... where it currently stands. the more jobs you add, the more will > have to be called before event handling finishes and rendering begins. the > longer jobs take to execute, the longer this will be. > > so let's pretend a job takes 1 second. let us say you add 10 of them as a > result of data from ecore_exe ... or you do it as a result of ecore_con/ipc > events or a mouse event or a timer or an animator. it doesn't matter. THIS run > of the loop you will add 10 jobs to run at the end. they are always run in the > order added, so you have > > [handle events/timers/anim][job1][job2][...][job10][idle enter][render][zzzzz]
this diagram is answer on my question - events has higher priority. Thank you, I will think how to add jobs beetwen render :) > > those jobs there will take 10 seconds, so there wil be a 10 second lag until > rendering begins. > > so what you describe, if you have 100's or 1000's of job that take a > reasonable > amount of time each (eg 1, 2 or 3ms), then yes... this will "hang the loop". > :) > > > -- Viacheslav Reutskiy (rimmed) ------------------------------------------------------------------------------ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel