From 6866042369d696ea8d90e357557c36d9d7c240f5 Mon Sep 17 00:00:00 2001 From: Viktor Kojouharov Date: Thu, 5 Feb 2009 13:32:24 +0000 Subject: [PATCH] exec priority configuration SVN revision: 38952 --- src/bin/e_config.c | 6 ++++++ src/bin/e_config.h | 3 ++- src/bin/e_main.c | 4 ++-- .../conf_performance/e_int_config_performance.c | 16 ++++++++++++++++ 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/bin/e_config.c b/src/bin/e_config.c index 3d8a0d62e..bfeb7fcd6 100644 --- a/src/bin/e_config.c +++ b/src/bin/e_config.c @@ -414,6 +414,7 @@ e_config_init(void) E_CONFIG_VAL(D, T, border_shade_transition, INT); /**/ E_CONFIG_VAL(D, T, border_shade_speed, DOUBLE); /**/ E_CONFIG_VAL(D, T, framerate, DOUBLE); /**/ + E_CONFIG_VAL(D, T, priority, INT); /**/ E_CONFIG_VAL(D, T, image_cache, INT); /**/ E_CONFIG_VAL(D, T, font_cache, INT); /**/ E_CONFIG_VAL(D, T, edje_cache, INT); /**/ @@ -856,6 +857,10 @@ e_config_load(void) COPYPTR(syscon.actions); IFCFGEND; + IFCFG(0x012d); + COPYVAL(priority); + IFCFGEND; + e_config->config_version = E_CONFIG_FILE_VERSION; _e_config_free(tcfg); } @@ -869,6 +874,7 @@ e_config_load(void) E_CONFIG_LIMIT(e_config->border_shade_transition, 0, 3); E_CONFIG_LIMIT(e_config->border_shade_speed, 1.0, 20000.0); E_CONFIG_LIMIT(e_config->framerate, 1.0, 200.0); + E_CONFIG_LIMIT(e_config->priority, 0, 19); E_CONFIG_LIMIT(e_config->image_cache, 0, 256 * 1024); E_CONFIG_LIMIT(e_config->font_cache, 0, 32 * 1024); E_CONFIG_LIMIT(e_config->edje_cache, 0, 256); diff --git a/src/bin/e_config.h b/src/bin/e_config.h index ef55a247b..b321ab300 100644 --- a/src/bin/e_config.h +++ b/src/bin/e_config.h @@ -34,7 +34,7 @@ typedef struct _E_Event_Config_Icon_Theme E_Event_Config_Icon_Theme; /* increment this whenever a new set of config values are added but the users * config doesn't need to be wiped - simply new values need to be put in */ -#define E_CONFIG_FILE_GENERATION 0x012c +#define E_CONFIG_FILE_GENERATION 0x012d #define E_CONFIG_FILE_VERSION ((E_CONFIG_FILE_EPOCH << 16) | E_CONFIG_FILE_GENERATION) #define E_EVAS_ENGINE_DEFAULT 0 @@ -72,6 +72,7 @@ struct _E_Config int border_shade_transition; // GUI double border_shade_speed; // GUI double framerate; // GUI + int priority; // GUI int image_cache; // GUI int font_cache; // GUI int edje_cache; // GUI diff --git a/src/bin/e_main.c b/src/bin/e_main.c index cc47cd753..29434ccea 100644 --- a/src/bin/e_main.c +++ b/src/bin/e_main.c @@ -576,8 +576,8 @@ main(int argc, char **argv) locked |= e_config->desklock_start_locked; - /* set all execced stuff to pri 1 - nice. make this config later? */ - ecore_exe_run_priority_set(1); + /* set all execced stuff to configured priority */ + ecore_exe_run_priority_set(e_config->priority); TS("scale"); /* init config system */ diff --git a/src/modules/conf_performance/e_int_config_performance.c b/src/modules/conf_performance/e_int_config_performance.c index 1c582ce05..698c47077 100644 --- a/src/modules/conf_performance/e_int_config_performance.c +++ b/src/modules/conf_performance/e_int_config_performance.c @@ -10,6 +10,7 @@ static Evas_Object *_advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E struct _E_Config_Dialog_Data { double framerate; + int priority; /* Advanced */ int cache_flush_poll_interval; @@ -46,6 +47,7 @@ static void _fill_data(E_Config_Dialog_Data *cfdata) { cfdata->framerate = e_config->framerate; + cfdata->priority = e_config->priority; cfdata->font_cache = ((double)e_config->font_cache / 1024); cfdata->image_cache = ((double)e_config->image_cache / 1024); cfdata->edje_cache = e_config->edje_cache; @@ -75,6 +77,8 @@ _basic_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) if (cfdata->framerate <= 0.0) cfdata->framerate = 1.0; e_config->framerate = cfdata->framerate; edje_frametime_set(1.0 / e_config->framerate); + e_config->priority = cfdata->priority; + ecore_exe_run_priority_set(e_config->priority); e_canvas_recache(); e_config_save_queue(); return 1; @@ -93,6 +97,11 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf ob = e_widget_slider_add(evas, 1, 0, _("%1.0f fps"), 5.0, 200.0, 5.0, 0, &(cfdata->framerate), NULL, 150); e_widget_framelist_object_append(of, ob); + ob = e_widget_label_add(evas, _("Application Priority")); + e_widget_framelist_object_append(of, ob); + ob = e_widget_slider_add(evas, 1, 0, "%1.0f", 0, 19, 1, 0, NULL, &(cfdata->priority), 150); + e_widget_framelist_object_append(of, ob); + e_widget_list_object_append(o, of, 1, 1, 0.5); return o; } @@ -108,6 +117,8 @@ _advanced_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata) e_config->edje_cache = cfdata->edje_cache; e_config->edje_collection_cache = cfdata->edje_collection_cache; edje_frametime_set(1.0 / e_config->framerate); + e_config->priority = cfdata->priority; + ecore_exe_run_priority_set(e_config->priority); e_canvas_recache(); e_config_save_queue(); return 1; @@ -125,6 +136,11 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data e_widget_framelist_object_append(of, ob); ob = e_widget_slider_add(evas, 1, 0, _("%1.0f fps"), 5.0, 240.0, 1.0, 0, &(cfdata->framerate), NULL, 150); e_widget_framelist_object_append(of, ob); + + ob = e_widget_label_add(evas, _("Application Priority")); + e_widget_framelist_object_append(of, ob); + ob = e_widget_slider_add(evas, 1, 0, "%1.0f", 0, 19, 1, 0, NULL, &(cfdata->priority), 150); + e_widget_framelist_object_append(of, ob); e_widget_list_object_append(o, of, 1, 1, 0.5); of = e_widget_framelist_add(evas, _("Cache Settings"), 0);