Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Is there any alternative way to post frame to io-winmgr than using eglswapbuffer()?: (3 Items)
   
Is there any alternative way to post frame to io-winmgr than using eglswapbuffer()?  
I have tested drawing performance with gf-egl-vsync demo. Test result shows conventional drawing under no io-winmgr is 
much faster than doing  under io-winmgr. It was 6 times faster.
I suspect posting new frame using eglswapbuffer() to io-winmgr makes this difference in drawing time.
Using CWM is necessary to current design. Is there any alternative way which works faster to post frame to io-winmgr 
than using eglswapbuffer()?
Re: Is there any alternative way to post frame to io-winmgr than using eglswapbuffer()?  
What does conventional drawing under no io-winmgr mean, exactly ?
What is the hardware ?
What are the settings in winmgr.conf ?
Why is CWM necessary in your current design ?
Re: Is there any alternative way to post frame to io-winmgr than using eglswapbuffer()?  
Thanks in advance.

What does conventional drawing under no io-winmgr mean, exactly ?
What I meant by conventional drawing is drawing  only using GF APIs like following.
gf_dev_attach();
gf_display_attach();
gf_layer_attach();

gf_surface_create_layer();
gf_context_create();
gf_context_set_surface(context, surface);

while(1){
gf_draw_begin(context);

drawing_routine();

gf_draw_end(context);
}

On contrast, if I draw using egl APIs under io-winmgr, it was much slower. The code briefly looks like following.
 
eglGetDisplay();
eglInitialize();
eglCreateWindowSurface();
gf_context_create();
gf_context_init();
gf_context_set_surface_3d();
while(1){

gf_draw_begin(context);

drawing_routine();

gf_draw_end(context);
eglbufferswap();
}

	
What is the hardware ?
We are using i.mx31 lit version(which doesn't have MBX). I have tested over VMWare. Other engineer in my team tested 
over i.mx31 and showed eglbufferswap() consumes much time.

What are the settings in winmgr.conf ?

begin globals
 input = all
end globals

begin display
 cursor = sw-arrow
 begin plane
  egl-config = auto
 end plane
end display


Why is CWM necessary in your current design ?
Our graphic provides 2 physical layers. We needed more layers so we use software layers provided from io-winmgr.