Page MenuHome

Sequencer window not updating whilst playing animation
Closed, ResolvedPublicBUG

Description

System Information
Operating system: Windows 7
GPU: Radeon Vega 64
GPU Software Version: 20.4.2 (2020.0515.1537.28108)
CPU: Intel Core i7-5960X

Blender Version(s)
(listed are versions tested)

Working: 2.79 (sub 00), branch: master, commit date: 2018-03-22 14:10, hash: f4dc9f9d68b, type: Release, build date: 2018-03-22, 09:59 AM
Working: 2.80 (sub 75), branch: master, commit date: 2019-07-29 14:47, hash: f6cb5f54494e, type: Release, build date: 2019-07-29, 09:44 AM
Working: 2.81 (sub 16), branch: master, commit date: 2019-11-20 14:27, hash: 26bd5ebd42e3, type: Release, build date: 2019-11-20, 16:33:00
Working: 2.82 (sub 07), branch: master, commit date: 2020-02-12 16:20, hash: 77d23b0bd76f, type: Release, build date: 2020-02-13, 01:56:46
Working: 2.83.3 LTS, branch: master, commit date: 2020-07-22 06:01, hash: 353e5bd7493e, type: Release, build date: 2020-07-22, 04:04:56
Broken: blender-2.90.0-4f59e4bddcb0-windows64 (BF Build Bot)
Broken: blender-2.91.0-21fec9513969-windows64 (BF Build Bot)

Short description of error

The Sequencer window doesn't update when playing animation.

Exact steps for others to reproduce the error

Open and play

Event Timeline

Cannot reproduce here

System Information
Operating system: Linux-5.7.10-201.fc32.x86_64-x86_64-with-fedora-32-Thirty_Two 64 Bits
Graphics card: GeForce GTX 970M/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 440.100
version: 2.91.0 Alpha, branch: master, commit date: 2020-08-07 09:39, hash: rB4ba9d7d71e8f

might be a GPU thingie?

CC @Jeroen Bakker (jbakker) : do you have access to a Radeon Vega 64?
CC @Richard Antalik (ISS)

Richard Antalik (ISS) changed the task status from Needs Triage to Confirmed.Aug 7 2020, 1:17 PM
Richard Antalik (ISS) changed the subtype of this task from "Report" to "Bug".

I assume this would be broken by rBcc3e808ab478

Just out of curiosity: what exactly is not updating (seems I still cannot reproduce)?

  • The playhead, the preview window not updating the colors? Timeline header not updating the current frame?
Richard Antalik (ISS) added a comment.EditedAug 7 2020, 1:30 PM

Just out of curiosity: what exactly is not updating (seems I still cannot reproduce)?

  • The playhead, the preview window not updating the colors? Timeline header not updating the current frame?

It is backdrop in timeline. It should show ssame thing as preview, but under strips.
Also cache "indicator" is not updated.

@Philipp Oeser (lichtwerk) Nothing (Cache display, Colour Strips changing, Backdrop, etc..) updates apart from the play head.

Philipp Oeser (lichtwerk) triaged this task as High priority.Aug 7 2020, 2:12 PM

Ahh... get it, sorry for the noise, have it too...

Caused by rBbbb2e0614fc3: Performance: Draw play head as an overlay though

We could draw cache as overlay, not sure about backdrop.

I don't think that content of timeline should be dynamic during playback. only reason why for example animated color strip do change color is that I don't have animation cache that would allow me to draw gradient.

There may be some scenarios of using tools during playback though but that is future.

I'd say both backdrop is mandatory.

Just dropping the quick-and-dirty fix [which is just disabling the non-redraw optimization for the sequencer], (maybe just for 2.90 release)

1
2
3diff --git a/source/blender/editors/screen/screen_ops.c b/source/blender/editors/screen/screen_ops.c
4index f4d36a15d30..b002b23a7f3 100644
5--- a/source/blender/editors/screen/screen_ops.c
6+++ b/source/blender/editors/screen/screen_ops.c
7@@ -4414,7 +4414,7 @@ static void screen_animation_region_tag_redraw(ScrArea *area,
8 * We do need to redraw when this area is in full screen as no other areas
9 * will be tagged for redrawing. */
10 if ((region->regiontype == RGN_TYPE_WINDOW) &&
11- (ELEM(area->spacetype, SPACE_GRAPH, SPACE_NLA, SPACE_ACTION, SPACE_SEQ)) && !area->full) {
12+ (ELEM(area->spacetype, SPACE_GRAPH, SPACE_NLA, SPACE_ACTION)) && !area->full) {
13 return;
14 }
15 ED_region_tag_redraw(region);

Not sure how important the cache display is. It was also discussed during the patch. If this is really important we should make the cache drawing more performant and then move it to the overlaydrawing.

For the drop we can go one level deeper and check if it is enabled. It is most of the time not the way users work with the sequencer. It should be a small adjustment to the quick fix above.

In stead of searching we could also add a flag in sequencer runtime. And check this flag if it should be supported. I’m fine to apply the quick fix for now and do the optimizations in 2.91

Not sure how important the cache display is.

I mean, it can mislead users into thinking that the cache is not working correctly but the once they realise it's just the drawing of it, they interact with the timeline just to get up-to-date information and that feels wrong to me...