big patch from Samsung SAIT (Advanced research group) for async multi-frame

rendering. to turn on:

1.
configure with --enable-async-render
2.
export EVAS_RENDER_MODE=non-blocking
  
presto. necessitates some api swizzling (thus the expedite. ecore etc. changes)

the kind of results you get on a desktop:

http://www.rasterman.com/files/evas-async-vs-none.html



SVN revision: 49087
This commit is contained in:
Carsten Haitzler 2010-05-21 07:10:45 +00:00
parent 63f9adccc4
commit 24aba4e191
4 changed files with 15 additions and 0 deletions

View File

@ -1,2 +1,4 @@
The Rasterman (Carsten Haitzler) <raster@rasterman.com>
Tim Horton <hortont424@gmail.com>
Saumsung Electronics <tbd>
Samsung SAIT <tbd>

View File

@ -37,6 +37,16 @@ engine_software_xlib_args(const char *engine, int width, int height)
einfo->info.depth = einfo->func.best_depth_get(0, disp, DefaultScreen(disp));
einfo->info.rotation = 0;
einfo->info.debug = 0;
#ifdef EVAS_FRAME_QUEUING
{
char *render_mode;
render_mode = getenv("EVAS_RENDER_MODE");
if (render_mode && !strcmp(render_mode, "non-blocking"))
{
einfo->render_mode = EVAS_RENDER_MODE_NONBLOCKING;
}
}
#endif
attr.backing_store = NotUseful;
attr.colormap = einfo->info.colormap;
attr.border_pixel = 0;

View File

@ -1357,6 +1357,7 @@ int
main(int argc, char **argv)
{
int i;
XInitThreads();
evas_init();
evas = evas_new();

View File

@ -84,6 +84,8 @@ extern "C"
#include "ui.h"
#include "about.h"
#define EVAS_FRAME_QUEUING // for test
#define OBNUM 128
#define LOOPS 128