Blender Git Loki

Git Commits -> Revision 3c717a6

Revision 3c717a6 by Jeroen Bakker (master)
June 15, 2020, 13:22 (GMT)
Fix Memory Leak introduced by Draw Manager Threading

The memory leak is noticeable when using custom bone shapes. When using custom
bone shapes objects could be extracted twice. Where the second extraction can
overwrite data created by the first extraction what causes the memory leak.

Options that have been checked:
1. Use two task graphs phases. One for normal extraction (DST.task_graph) and
the other one will handle extractions that require blocking threads.
2. Keep a list of all objects that needs extraction and only start extraction
when all objects have been populated.

The second would slow performance as the extraction only happens when all
objects have been populated. In the future we might want to go for the second
option when we have the capability to render multiple viewports with a single
populate. As this design isn't clear this patch will implement the first
option.

Reviewed By: Cl�ment Foucault

Differential Revision: https://developer.blender.org/D7969

Commit Details:

Full Hash: 3c717a631b56244f4a6c6dc30e8c353f318b35fe
Parent Commit: ec25084
Lines Changed: +20, -6

4 Modified Paths:

/source/blender/draw/engines/overlay/overlay_armature.c (+3, -3) (Diff)
/source/blender/draw/intern/draw_cache.c (+5, -0) (Diff)
/source/blender/draw/intern/draw_manager.c (+9, -3) (Diff)
/source/blender/draw/intern/draw_manager.h (+3, -0) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021