Fix T61474: laggy interaction on Windows/NVIDIA when gizmos are visible

Thanks to Sergey and Clément for helping to track this down.
This commit is contained in:
2019-07-09 13:20:25 +02:00
parent 89c762dd99
commit db45aaafab
2 changed files with 6 additions and 12 deletions

View File

@@ -552,6 +552,9 @@ static int gizmo_find_intersected_3d_intern(wmGizmo **visible_gizmos,
bool use_select_bias = false;
/* TODO: waiting for the GPU in the middle of the event loop for every
* mouse move is bad for performance, we need to find a solution to not
* use the GPU or draw something once. (see T61474) */
GPU_select_begin(buffer, ARRAY_SIZE(buffer), &rect, GPU_SELECT_NEAREST_FIRST_PASS, 0);
/* do the drawing */
gizmo_draw_select_3d_loop(C, visible_gizmos, visible_gizmos_len, &use_select_bias);
@@ -644,7 +647,7 @@ static wmGizmo *gizmo_find_intersected_3d(bContext *C,
break;
}
}
else {
else if (gz->type->draw_select != NULL) {
has_3d = true;
}
}