Hi, you can add "software-warn" in your etc/directfbrc to check that the blit was done inhw or not. On Thu, Oct 29, 2009 at 8:35 AM, Lionel Landwerlin <llandwer...@gmail.com>wrote:
> Ok, > > anyway you're probably experiencing a software blit. But 0.5s... it's > quite slow. So a few more question to find why directfb is doing the > blit operation in software : > - what's the size of the screen ? > - which gfxdriver ? > - what's your default pixelformat (maybe not handled by hardware) ? > > Regards, > > Le mercredi 28 octobre 2009 à 16:45 -0700, Jack W a écrit : > > The dsc is > > ================================================================ > > ...... > > primary->GetSize (primary, &screen_w, &screen_h); > > > > dsc.flags = DSDESC_CAPS | DSDESC_WIDTH | DSDESC_HEIGHT; > > dsc.caps = DSCAPS_NONE; > > dsc.width = screen_w; > > dsc.height = screen_h; > > > > ...... > > dfb->CreateSurface (dfb, &dsc, &tempSurface); > > tempSurface->SetBlittingFlags (tempSurface, DSBLIT_NOFX); > > ...... > > ================================================================ > > > > Thanks. > > > > Jack > > > > > > > > > > > > > > "Lionel Landwerlin" <llandwer...@gmail.com> > > > Le mercredi 28 octobre 2009 à 15:49 -0700, Jack W a écrit : > > > > > > How did you fill the dsc structure ? > > > > > > > > --- On Wed, 10/28/09, Jack W <ji...@yahoo.com> wrote: > > > > From: Jack W <ji...@yahoo.com> > > Subject: [directfb-dev] Blit is slow (modified post) - Re: How > > to save the current framebuffer to a surface? > > To: directfb-dev@directfb.org > > Date: Wednesday, October 28, 2009, 6:49 PM > > > > Blit from the primary to another surface is very slow, if > > there is any problem in my code? > > I tried the following code. > > > > ========================================================== > > ...... > > IDirectFBSurface *tempSurface; > > dfb->CreateSurface (dfb, &dsc, &tempSurface); /* The > > tempSurface is not primary. */ > > ...... > > while (...) > > { > > ...... > > primary->FillTriangle(....); > > primary->DrawLine(....); > > ..... > > primary->Flip (primary, NULL, DSFLIP_ONSYNC); /* Filp > > here because I want to save the primary surface to > > tempSurface. Is my thought correct? */ > > > > tempSurface->Blit(tempSurface, primary, NULL, 0, 0); > > > > primary->Blit(primary, tempSurface, NULL, 200, > > 200); /* Offset the previous screen. */ > > > > primary->Flip (primary, NULL, DSFLIP_ONSYNC); // Main > > loop flip > > ...... > > } > > ...... > > ========================================================== > > > > This loop had 0.5 second delay when > > "tempSurface->Blit(tempSurface, primary, NULL, 0, 0)" was > > executed. If I commented this line, no delay. Does anyone know > > the reason? > > > > Thanks a lot! > > > > Jack > > > > > > > > -----Inline Attachment Follows----- > > > > _______________________________________________ > > directfb-dev mailing list > > directfb-dev@directfb.org > > http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev > > > > > > _______________________________________________ > > directfb-dev mailing list > > directfb-dev@directfb.org > > http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev > > > -- > Lionel Landwerlin <llandwer...@gmail.com> > > _______________________________________________ > directfb-dev mailing list > directfb-dev@directfb.org > http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev >
_______________________________________________ directfb-dev mailing list directfb-dev@directfb.org http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-dev