Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12690 Discussions

Frame buffer/nano-X speed issues.

Altera_Forum
Honored Contributor II
1,042 Views

 

Hi, until now we have been ignoring the fact that the video update rate using the frame buffer wiki and a neek is slow. Has anyone looked into this enough to figure out where the bottleneck is? Has someone found a solution? Or am I doing something wrong? THanks in advance -Alex
0 Kudos
6 Replies
Altera_Forum
Honored Contributor II
377 Views

As the standard NEEK FPGA design does not provide any hardware acceleration, this is bound to be slow. It would be nice to have an improved design that does have hardware acceleration (plus the necessary driver), but I don't think anybody tried to create one yet.  

 

-Michael
0 Kudos
Altera_Forum
Honored Contributor II
377 Views

 

So are you suggesting that the problem is understood and that it is not an issue with nano-X but more likely with the hardware/software associated with the frame buffer itself? Thanks Michael. -Alex
0 Kudos
Altera_Forum
Honored Contributor II
377 Views

NIOS is not a really fast processor. Without hardware acceleration X-like stuff many things can't perform too well, as the processor needs to create any single pixel on the screen, including hiding and redisplaying stuff that is hidden behind other objects, filling complex polygons for TTF types etc. 

 

Any PC uses hardware acceleration for any type of X display, as even the PC processor is slow with low level pixel operations. 

 

-Michael
0 Kudos
Altera_Forum
Honored Contributor II
377 Views

You can modify the kernel driver altfb to use cached display memory instead of the uncached ioremap. It will be a lot faster. 

 

- Hippo 

 

0 Kudos
Altera_Forum
Honored Contributor II
377 Views

 

--- Quote Start ---  

Hi, until now we have been ignoring the fact that the video update rate using the frame buffer wiki and a neek is slow. Has anyone looked into this enough to figure out where the bottleneck is? Has someone found a solution? Or am I doing something wrong? THanks in advance -Alex 

--- Quote End ---  

 

 

Hi Alex, 

 

you should do some quick math to check whether your RAM memory interface is the bottleneck. Remember that the framebuffer area is in the same physical memory as your data and instructions (of course caches could change things somewhat). 

 

In one system I've seen, the VGA controller was using the memory 90% of the time, and all other peripherals had to dispute with each other to get a share. 

 

If your RAM is 16 bits wide, things could be even worse, because it would take two memory accesses to fetch a 32-bit word. 

 

Cheers, 

 

Ricardo.
0 Kudos
Altera_Forum
Honored Contributor II
377 Views

 

--- Quote Start ---  

You can modify the kernel driver altfb to use cached display memory instead of the uncached ioremap. It will be a lot faster. 

 

- Hippo 

--- Quote End ---  

 

 

 

Hi Hippo, 

 

would like to know what modification have to be done exactly, to use a cached display memory? 

 

Thx 

D.
0 Kudos
Reply