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

Reply via email to