Motion Tracking: pre Blender 2.8 file prefetch footage freezes Blender #58428

Closed
opened 2018-12-01 13:11:22 +01:00 by Michael P. · 21 comments

System Information
System: Windows 7 64bit
RAM: 4096 MB
renderer: 'GeForce GTX 760/PCIe/SSE2'
vendor: 'NVIDIA Corporation'
version: '4.5.0 NVIDIA 364.72'

Blender Version
Broken: blender-2.80.0-git.0f5b53ba4dc-windows64
Worked: Blender 2.79c

Short description of error
Motion Tracking: pre Blender 2.8 file prefetch footage freezes Blender

Exact steps for others to reproduce the error

Needed: Blender Course (DVD, Blender Cloud) Track, Match, Blend!
(I think every pre Blender 2.8 setup tracking file will do)

  1. Open the file blendfiles\03_advanced_techniques\02_externalreference\reference.blend
  2. Load UI (default)
  3. Click "P" for prefetch footage
  4. Prefetch progressbar animation is not displayed and Blender freezes (GUI not responsive to clicks)
**System Information** System: Windows 7 64bit RAM: 4096 MB renderer: 'GeForce GTX 760/PCIe/SSE2' vendor: 'NVIDIA Corporation' version: '4.5.0 NVIDIA 364.72' **Blender Version** Broken: blender-2.80.0-git.0f5b53ba4dc-windows64 Worked: Blender 2.79c **Short description of error** Motion Tracking: pre Blender 2.8 file prefetch footage freezes Blender **Exact steps for others to reproduce the error** Needed: Blender Course (DVD, Blender Cloud) Track, Match, Blend! (I think every pre Blender 2.8 setup tracking file will do) 1. Open the file blendfiles\03_advanced_techniques\02_externalreference\reference.blend 2. Load UI (default) 3. Click "P" for prefetch footage 4. Prefetch progressbar animation is not displayed and Blender freezes (GUI not responsive to clicks)
Author

Added subscriber: @MichaelParucha

Added subscriber: @MichaelParucha
Michael P. changed title from Motion Tracking: pre Blender 2.8 file prefetch freezes Blender to Motion Tracking: pre Blender 2.8 file prefetch footage freezes Blender 2018-12-01 13:12:41 +01:00

Added subscriber: @sebastian_k

Added subscriber: @sebastian_k

I don't see a bug here. It's true, Blender does become unresponsive for a moment, but that's just due to the prefetching of the movie file. Prefetching image sequences works smoother. At least on my system (Linux64bit) I cannot see a difference in prefetching between 2.80 and 2.79.

How long is the GUI unresponsive? How long is the prefetching taking for you?

I don't see a bug here. It's true, Blender does become unresponsive for a moment, but that's just due to the prefetching of the movie file. Prefetching image sequences works smoother. At least on my system (Linux64bit) I cannot see a difference in prefetching between 2.80 and 2.79. How long is the GUI unresponsive? How long is the prefetching taking for you?
Author

As described above I use Windows 7. It freezes for a while, then the GUI is responsive again. But the prefetch of the footage didn't happen at all.

As described above I use Windows 7. It freezes for a while, then the GUI is responsive again. But the prefetch of the footage didn't happen at all.

How much RAM do you have, and what's set in your User Preferences, in System>General>Memory Cache Limit? If you prefetch and watch your System's memory consumption, is your RAM filling up or not?

How much RAM do you have, and what's set in your User Preferences, in System>General>Memory Cache Limit? If you prefetch and watch your System's memory consumption, is your RAM filling up or not?
Author

Ram 4096 MB. Set the value to 3072 MB (good thinking, btw). But still the same issue.

But I testet this with a png image sequence and the prefetch works. It seems that it doesn't work with video files.
It freezes as described. But when I play the clip with "play animation" button it prefetches while playing.

Ram 4096 MB. Set the value to 3072 MB (good thinking, btw). But still the same issue. But I testet this with a png image sequence and the prefetch works. It seems that it doesn't work with video files. It freezes as described. But when I play the clip with "play animation" button it prefetches while playing.

Interesting. Would be nice if some other windows user could test this. At the very least I'll have my colleagues in the office test this on monday.

Interesting. Would be nice if some other windows user could test this. At the very least I'll have my colleagues in the office test this on monday.

Added subscriber: @Sergey

Added subscriber: @Sergey

My colleague just tested this on Windows10 with the most recent Blender 2.80 build.
While it does prefetch the footage, it does act a bit weird. The interface seems to freeze until the prefetching is done. Unlike in your case however the footage is in memory after prefetching is finished.
Even though the GUI is a bit unresponsive, we could still press the little X in the prefetching progress bar to cancel it. It works pretty much the same as on my Linux system. Our systems are quite good though (32GB, Hexacore). 4GB of system memory is far from ideal for motion tracking, so poor system performance might play a role in your case. Still, I can't really see a bug here.
However, responsiveness when caching movie files could definitely be improved. When prefetching image sequences the interface stays fully repsonsive here, and the way the progress bar is reporting the prefetching progress is more realtime and repsonive as well.
When 2.8 is more stable and there is a bit more time for polishing this might be something to look at, @Sergey?

My colleague just tested this on Windows10 with the most recent Blender 2.80 build. While it does prefetch the footage, it does act a bit weird. The interface seems to freeze until the prefetching is done. Unlike in your case however the footage is in memory after prefetching is finished. Even though the GUI is a bit unresponsive, we could still press the little X in the prefetching progress bar to cancel it. It works pretty much the same as on my Linux system. Our systems are quite good though (32GB, Hexacore). 4GB of system memory is far from ideal for motion tracking, so poor system performance might play a role in your case. Still, I can't really see a bug here. However, responsiveness when caching movie files could definitely be improved. When prefetching image sequences the interface stays fully repsonsive here, and the way the progress bar is reporting the prefetching progress is more realtime and repsonive as well. When 2.8 is more stable and there is a bit more time for polishing this might be something to look at, @Sergey?

@sebastian_k, did i get it correct:

  • Prefetching image sequence is fast, responsive, and such.
  • Prefetching movie files is slow, freezes interface and such ?

That's weird and definitely something to look into.

@MichaelParucha, in 2.8 we've increased default value of movie cache size, to be more helpful for more real-world scenarios. So maybe you'd want to set it to a lower value.

@sebastian_k, did i get it correct: - Prefetching image sequence is fast, responsive, and such. - Prefetching movie files is slow, freezes interface and such ? That's weird and definitely something to look into. @MichaelParucha, in 2.8 we've increased default value of movie cache size, to be more helpful for more real-world scenarios. So maybe you'd want to set it to a lower value.
Author

@Sergey

I have tested this with a cache setting of 1024 MB. It prefetches a video (not the video from above), could not see any GUI freezings and the progress bar updates.
But the frame rate is low: around 4 to 9 fps. (I see this in a 3d view port in the left top corner of a camera view).
If I play the video (play button, not prefetching) the frame rate is also 4 to 9 fps. But the second time I play it, the part that was "played" plays now with 24 fps.

I tested this with an png sequence and I got the same behaviour as above.

Then I tested the same video with 2.79 master (blender-2.79.0-git.c0b3e3daebd) and cache setting of 1024 MB, and I can prefetch and play without any
problems and I get 24 fps all the time.

BTW. I wanted to reset the cache size in the preferences, but it resets to 0 and not to 4096.

grafik.png

@Sergey I have tested this with a cache setting of 1024 MB. It prefetches a video (not the video from above), could not see any GUI freezings and the progress bar updates. But the frame rate is low: around 4 to 9 fps. (I see this in a 3d view port in the left top corner of a camera view). If I play the video (play button, not prefetching) the frame rate is also 4 to 9 fps. But the second time I play it, the part that was "played" plays now with 24 fps. I tested this with an png sequence and I got the same behaviour as above. Then I tested the same video with 2.79 master (blender-2.79.0-git.c0b3e3daebd) and cache setting of 1024 MB, and I can prefetch and play without any problems and I get 24 fps all the time. BTW. I wanted to reset the cache size in the preferences, but it resets to 0 and not to 4096. ![grafik.png](https://archive.blender.org/developer/F5802393/grafik.png)

This sounds very much like an issue with colormanagement. In 2.80 the default view transform is Filmic. In order to display movie clips correctly the correct mapping has to be applied first. This happens during playback. So once the clip has been played back once, the movie was "converted" internally to the correct view transform. That's why playback is realtime the second time you play it.
You can also set View Transform in Color Management panel from "Filmic" to "Default". That should give you better playback performance right from the first play of the movie.
(Sidenote: "Default" is really not an adequate term anymore, since it isn't even the default setting! :)

This sounds very much like an issue with colormanagement. In 2.80 the default view transform is Filmic. In order to display movie clips correctly the correct mapping has to be applied first. This happens during playback. So once the clip has been played back once, the movie was "converted" internally to the correct view transform. That's why playback is realtime the second time you play it. You can also set View Transform in Color Management panel from "Filmic" to "Default". That should give you better playback performance right from the first play of the movie. (Sidenote: "Default" is really not an adequate term anymore, since it isn't even the default setting! :)
Author

@sebastian_k

Just run a test with the "Default" Color Management. The fps was 11 to 13 fps. So the performance is better, but I don't think this is the main issue here.

@sebastian_k Just run a test with the "Default" Color Management. The fps was 11 to 13 fps. So the performance is better, but I don't think this is the main issue here.

Added subscriber: @dfelinto

Added subscriber: @dfelinto

@MichaelParucha Can you test with the official 2.80 release (blender.org/download) and also a night build (builder.blender.org) to see if the problem persists?

@MichaelParucha Can you test with the official 2.80 release (blender.org/download) and also a night build (builder.blender.org) to see if the problem persists?
Author

@dfelinto

I tested it again with blender-2.81 0547a77536 but still the same issues with older Blender file.
I have attached a video where you can see the behaviour. And in the same video there is a test with the same video file, but with a new Blender 2.81 file from scratch. Here are no problems and the prefetch works as intended.

If you need the blend file or the project files, let me know. But I need to sumbit it privatley to you and it should not be made public.

#58428-bug-report-video.mp4

@dfelinto I tested it again with blender-2.81 0547a7753643 but still the same issues with older Blender file. I have attached a video where you can see the behaviour. And in the same video there is a test with the same video file, but with a new Blender 2.81 file from scratch. Here are no problems and the prefetch works as intended. If you need the blend file or the project files, let me know. But I need to sumbit it privatley to you and it should not be made public. [#58428-bug-report-video.mp4](https://archive.blender.org/developer/F7755962/T58428-bug-report-video.mp4)

Thanks but we can't use private files in your debugging process. Another round of questions:

  1. If you create the file from scratch with the stable 2.80 (blender.org/download) do you have this problem?

  2. If you then save the 2.80 stable file and open in the latest blender, do you still have a problem?

Just trying to nail down where the issue is opening old 2.7x files, or even the latest stable 2.80 ones.

Thanks but we can't use private files in your debugging process. Another round of questions: 1) If you create the file from scratch with the stable 2.80 (blender.org/download) do you have this problem? 2) If you then save the 2.80 stable file and open in the latest blender, do you still have a problem? Just trying to nail down where the issue is opening old 2.7x files, or even the latest stable 2.80 ones.
Author

So I dig a bit further with blender-2.81 0547a7753643:
Edit: old file is used (09/2016), not a file saved in blender 2.80 or 2.81

Tracking Settings:
Frame Start 300, End 980
Open File Frame 331 (Saved)
2D Stabilization & Rotation is set
A Plane Track exists
5 Tracks

What I tested:

Version A

  • Open file directly or through drag and drop
  • Original UI is loaded
  • Open Motion Tracking
  • Clip > Prefetch
  • Prefetch lags, but the mem is filled 2.38 GiB (I did not notice this before)
  • But the prefetch bar stays grayed out

Version B

  • Start Blender
  • Open File through File View - File > Open
  • Here Options > Load UI deactivated
  • Open
  • File opens, but Motion Tracking is not visible
  • Add VFX > Motion Tracking
  • Select there the movie
  • Set the play head from 331 (Saved) to 300 (Frame Start)
  • Clip > Prefetch
  • Prefetch takes a while (expected, no lags), mem is filled 2.37 GiB
  • Prefetch bar is active (filled)

Edit 2:
Version A

  • Playback average 15 fps

Version B

  • Playback average 20 fps

Edit 3:

  • Playback values are misleading. In Version A the 2D Stabilization was on. Deactivated and then I get 20 fps too.
So I dig a bit further with blender-2.81 0547a7753643: Edit: old file is used (09/2016), not a file saved in blender 2.80 or 2.81 Tracking Settings: Frame Start 300, End 980 Open File Frame 331 (Saved) 2D Stabilization & Rotation is set A Plane Track exists 5 Tracks What I tested: Version A - Open file directly or through drag and drop - Original UI is loaded - Open Motion Tracking - Clip > Prefetch - Prefetch lags, but the mem is filled 2.38 GiB (I did not notice this before) - But the prefetch bar stays grayed out Version B - Start Blender - Open File through File View - File > Open - Here Options > Load UI deactivated - Open - File opens, but Motion Tracking is not visible - Add VFX > Motion Tracking - Select there the movie - Set the play head from 331 (Saved) to 300 (Frame Start) - Clip > Prefetch - Prefetch takes a while (expected, no lags), mem is filled 2.37 GiB - Prefetch bar is active (filled) Edit 2: Version A - Playback average 15 fps Version B - Playback average 20 fps Edit 3: - Playback values are misleading. In Version A the 2D Stabilization was on. Deactivated and then I get 20 fps too.

Changed status from 'Open' to: 'Archived'

Changed status from 'Open' to: 'Archived'
Dalai Felinto self-assigned this 2019-09-20 00:45:30 +02:00

Edit: old file is used (09/2016), not a file saved in blender 2.80 or 2.81

I believe this was before we were open for real for production tests. We can't afford to spend time debugging this further.

If you still have a problem with a file created in either stable versions (2.79 or 2.80) or a recent night build you can report again, and we will be glad to take a look at it.

If you need this working in your production just open Blender and open your old file without loading the UI, that should be enough.

> Edit: old file is used (09/2016), not a file saved in blender 2.80 or 2.81 I believe this was before we were open for real for production tests. We can't afford to spend time debugging this further. If you still have a problem with a file created in either stable versions (2.79 or 2.80) or a recent night build you can report again, and we will be glad to take a look at it. If you need this working in your production just open Blender and open your old file without loading the UI, that should be enough.
Author

@dfelinto. I think this is fine. I now have a workaround, as you wrote. Thanks for looking into it.

@dfelinto. I think this is fine. I now have a workaround, as you wrote. Thanks for looking into it.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#58428
No description provided.