On Mon, Jan 7, 2013 at 6:36 PM, Ulisses Furquim <ulis...@profusion.mobi>wrote:
> Hi Raster, > > On Fri, Jan 4, 2013 at 12:45 PM, Carsten Haitzler <ras...@rasterman.com> > wrote: > > On Fri, 4 Jan 2013 11:21:28 -0200 Gustavo Sverzut Barbieri > > <barbi...@profusion.mobi> said: > > > >> On Fri, Jan 4, 2013 at 10:56 AM, Carsten Haitzler <ras...@rasterman.com > >wrote: > >> > >> > On Fri, 4 Jan 2013 10:42:13 -0200 Gustavo Sverzut Barbieri > >> > <barbi...@profusion.mobi> said: > >> > > >> > ooh also.. with software comp.. rememebr that the async renderer is > still > >> > busy > >> > rendering in the bg.. THEN sw comp in the mainloop is grabbing > pixels to > >> > ximages WHILE sw evas is rendering async.. THEN it uses those ximages > - > >> > their > >> > pixel data is SET to be theimage pixel data, and then an sync sw > render > >> > uses > >> > that pixel data we grabbed async to the rendering of it (that used to > be > >> > sync) :) if its sw comp - but i've seen sync issues with gl comp and > >> > content > >> > containing incorrect pixels. :) > >> > >> > >> I couldn't understand what you mean. Seems you're getting some ideas on > >> where is the problem, then: > >> > >> 1 - explain that in a more understandable way :-P > >> 2 - look into comp code to see where the problems could be. You wrote > it, > >> then you know that quite well. > >> > >> We can help you with #2 if you do #1 and let us know where to to pin > point. > > > > comp can sync its canvas. it can ensure it is no longer rendering before > it > > changed the image data ptrs... > > > > BUT... it cant sync the canvases in the borders, or the menus, or the > > background or the popups. these are separate windows and canvases. > literally e > > is doing x(shm)getimage() the pixels from x11 when updates happen. since > async > > rendering may be rendering a NEW frame WHILE it is doing a getimage for > the > > old one (the border canvas is rendering async to the comp canvas in its > own > > thread), > > What do you mean by its own thread here? You did see we have just one > render thread for all canvases, right? Or am I missing what you really > said here? > Expanding Ulisses explanation a bit: 1 - just software_x11 uses threads right now. Buffer doesn't. Then if the border canvases are software, they are synchronous. 2 - we have a single thread share by ALL canvases. Then if every canvas were async (see #1, they are not), the commands from the sub-canvases would be executed BEFORE the commands for the parent. IOW, when comp canvas uses the pixels from borders, the borders would be ready/painted (but see #1). do we know a point where border canvas are updated? Do we do it at once, or multiple times? Could you do a forced evas_sync() BEFORE start to paint sub canvases? -- Gustavo Sverzut Barbieri http://profusion.mobi embedded systems -------------------------------------- MSN: barbi...@gmail.com Skype: gsbarbieri Mobile: +55 (19) 9225-2202 ------------------------------------------------------------------------------ Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS, MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122412 _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel