nanogui: Nano-X running on BF531 uClinux board: extermely slow updates


Previous by date: 14 Jun 2004 10:13:40 +0100 Re: timer not working fixed, at least for now, I think., Greg Haerr
Next by date: 14 Jun 2004 10:13:40 +0100 Re: Nano-X running on BF531 uClinux board: extermely slow updates, Greg Haerr
Previous in thread: 14 Jun 2004 10:13:40 +0100 Re: Nano-X running on BF531 uClinux board: extermely slow updates, Aaron J. Grier
Next in thread: 14 Jun 2004 10:13:40 +0100 Re: Nano-X running on BF531 uClinux board: extermely slow updates, Greg Haerr

Subject: Re: [nanogui] Re: Nano-X running on BF531 uClinux board: extermely slow updates
From: "vishal" ####@####.####
Date: 14 Jun 2004 10:13:40 +0100
Message-Id: <016b01c451ef$c6d8b120$e900a8c0@VISHALISOFTT>

Hi Aaron,
  Thanks a lot!! You have been immensely helpfull! I hope i learn some more
things from you in th course of our stay out here!
Now.....Getting back to the problem at hand...:-)


> it may be worthwhile to examine linking the VNC client directly with
> nano-X.  this can avoid a select over a socket between the two, and
> avoid copying graphic data over the socket.  the overhead then becomes
> function calls rather than socket operations.

  hmm... linking the VNC client with nano-X would be a good try.  I have
found that the socket writes are taking more than 80% of the total
processing time of a nano-X - VNC run. How much effort do you think
implementing this will take? Any pointers on how i could about it? I guess
what i could do is integrate the vnc main() code  into nano-X   main() and
set selects on the fds used in both. I think i know what needs to be
done..but i am still very fuzzy about the approach i should take.
   Some one was suggesting i change the socket types used,  to UDP. do you
think that would make any difference?


> >     Actually we are using the Epson S1D13505 on our blackfin board
> > too!. :-) so i guess you can help me out when i ask you about the best
> > h/w setup for this chip for use at 640x480, 16bpp. dont have the exact
> > h/w details abt that tho.
>
> if that's the case, you might be able to put an S1D13506 in there; its
> pinout is almost identical to the S1D13505, and it has a BitBLT engine
> for doing video memory copies.  the memory map of the 506 is a little
> different than the 505, and it requires different code, but I can give
> you my current device driver (which handles both) if you're interested.

hmm...wat is the kind of performance improvement we could expect by
replacing with the S1D13506 ? Any idea?

> >     back to the optimisation, could yu suggest some possible places in
> > Nano-X which i might have to give special attention for optimising?
>
> if you're currently running the generic 16bit framebuffer driver, my
> hunch is that VNC will be pounding on the gen_fillrect() and
> linear16_blit() routines the hardest.  you could write your own
> implementations of these functions and then use whatever DMA or zero-
> overhead looping instructions your processor has to speed them up: use
> 32bit operations to move two 16bit pixels at a time, for instance.  (but
> be aware of alignment issues for the beginning and end points.)

> start with a copy of src/drivers/scr_fb.c, and put rewritten copies of
> gen_fillrect() and linear16_blit() from src/drivers/fblin16.c in there.
> get rid of the call to select_fb_subdriver(), and use your own subdriver
> structure with your custom blit and fill routines instead.

I m looking at the above right now....


regards,
Vishal




Previous by date: 14 Jun 2004 10:13:40 +0100 Re: timer not working fixed, at least for now, I think., Greg Haerr
Next by date: 14 Jun 2004 10:13:40 +0100 Re: Nano-X running on BF531 uClinux board: extermely slow updates, Greg Haerr
Previous in thread: 14 Jun 2004 10:13:40 +0100 Re: Nano-X running on BF531 uClinux board: extermely slow updates, Aaron J. Grier
Next in thread: 14 Jun 2004 10:13:40 +0100 Re: Nano-X running on BF531 uClinux board: extermely slow updates, Greg Haerr


Powered by ezmlm-browse 0.20.