[Bf-blender-cvs] [f566212aa23] master: Fix T66230: delay in the material preview panel after recent changes

Brecht Van Lommel noreply at git.blender.org
Sat Jun 29 16:05:25 CEST 2019


Commit: f566212aa23750ff6d74f450a699182954a2c6b8
Author: Brecht Van Lommel
Date:   Sat Jun 29 16:00:43 2019 +0200
Branches: master
https://developer.blender.org/rBf566212aa23750ff6d74f450a699182954a2c6b8

Fix T66230: delay in the material preview panel after recent changes

===================================================================

M	source/blender/editors/render/render_preview.c

===================================================================

diff --git a/source/blender/editors/render/render_preview.c b/source/blender/editors/render/render_preview.c
index 35130988aba..c6b1acfbd94 100644
--- a/source/blender/editors/render/render_preview.c
+++ b/source/blender/editors/render/render_preview.c
@@ -1208,19 +1208,13 @@ static void icon_preview_startjob_all_sizes(void *customdata,
   IconPreview *ip = (IconPreview *)customdata;
   IconPreviewSize *cur_size;
 
-  /* Wait 2s to start rendering icon previews, to not bog down user interaction.
-   * Particularly important for heavy scenes and Eevee using OpenGL that blocks
-   * the user interface drawing. */
-  for (int i = 0; i < 20; i++) {
-    PIL_sleep_ms(100);
-    if (*stop) {
-      return;
-    }
-  }
-
   for (cur_size = ip->sizes.first; cur_size; cur_size = cur_size->next) {
     PreviewImage *prv = ip->owner;
 
+    if (*stop) {
+      break;
+    }
+
     if (prv->tag & PRV_TAG_DEFFERED_DELETE) {
       /* Non-thread-protected reading is not an issue here. */
       continue;
@@ -1265,10 +1259,6 @@ static void icon_preview_startjob_all_sizes(void *customdata,
 
     common_preview_startjob(sp, stop, do_update, progress);
     shader_preview_free(sp);
-
-    if (*stop) {
-      break;
-    }
   }
 }
 
@@ -1395,7 +1385,10 @@ void ED_preview_icon_job(
 
   /* setup job */
   WM_jobs_customdata_set(wm_job, ip, icon_preview_free);
-  WM_jobs_timer(wm_job, 0.1, NC_WINDOW, NC_WINDOW);
+  /* Wait 2s to start rendering icon previews, to not bog down user interaction.
+   * Particularly important for heavy scenes and Eevee using OpenGL that blocks
+   * the user interface drawing. */
+  WM_jobs_timer(wm_job, 2.0, NC_WINDOW, NC_WINDOW);
   WM_jobs_callbacks(wm_job, icon_preview_startjob_all_sizes, NULL, NULL, icon_preview_endjob);
 
   WM_jobs_start(CTX_wm_manager(C), wm_job);



More information about the Bf-blender-cvs mailing list