diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2015-01-12 16:21:23 +0300 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2015-01-20 11:30:09 +0300 |
commit | 7f219137cf13003143f5d671b6c59bc500b53f75 (patch) | |
tree | 60282a1400a70d07e178e6650180667020468cc7 /source/blender/editors/space_image/space_image.c | |
parent | d1246969ed59ac36ffa332c283fb9d89f365a2b4 (diff) |
Disable scope updates in texture and image paint modes.
Scope update is very slow for high resolutions, and currently blocks
the UI thread(!). This is especially terrible in paint modes, where
each stroke causes a scope update and unacceptable freezing.
The scopes update method tries to avoid this somewhat by skipping if the
toolbar is disabled, but this doesn't help when painting where brush
tools etc. are frequently needed. It's also a bad-level poll, with the
core system accessing a UI element.
Eventually scope updates should become a low-priority background job,
as well as becoming threaded. Until then this polling provides a usable
workaround to the most outrageous cases.
Diffstat (limited to 'source/blender/editors/space_image/space_image.c')
-rw-r--r-- | source/blender/editors/space_image/space_image.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/editors/space_image/space_image.c b/source/blender/editors/space_image/space_image.c index 6cf53533618..af1502509f5 100644 --- a/source/blender/editors/space_image/space_image.c +++ b/source/blender/editors/space_image/space_image.c @@ -899,9 +899,9 @@ static void image_tools_area_draw(const bContext *C, ARegion *ar) BKE_histogram_update_sample_line(&sima->sample_line_hist, ibuf, &scene->view_settings, &scene->display_settings); } if (sima->image->flag & IMA_VIEW_AS_RENDER) - scopes_update(&sima->scopes, ibuf, &scene->view_settings, &scene->display_settings); + ED_space_image_scopes_update(C, sima, ibuf, true); else - scopes_update(&sima->scopes, ibuf, NULL, &scene->display_settings); + ED_space_image_scopes_update(C, sima, ibuf, false); } } ED_space_image_release_buffer(sima, ibuf, lock); |