diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-12-02 12:50:36 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-12-02 12:54:00 +0300 |
commit | a42638d265bbcd052dc61acc9fb403fc3d38c505 (patch) | |
tree | 7bc8008f8fd8ac1557f378b5b4f230bb79d40ea1 | |
parent | a5cd6a029ffc9d3e26f55ecf82da3ba5db2f63b8 (diff) |
No need to free GPU images from BKE_image_free_buffers when in background mode
OpenGL in background mode is not used, so we can skip mutex lock and filling in
the list which later is never used.
This gives unmeasurable speedup by skipping mutex lock, plus solves memory leak
in the background mode.
-rw-r--r-- | source/blender/blenkernel/intern/image.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/image.c b/source/blender/blenkernel/intern/image.c index 5c4ebea7d78..36cd7e69601 100644 --- a/source/blender/blenkernel/intern/image.c +++ b/source/blender/blenkernel/intern/image.c @@ -273,7 +273,13 @@ void BKE_image_free_buffers(Image *ima) ima->rr = NULL; } - GPU_free_image(ima); + if (!G.background) { + /* Background mode doesn't use opnegl, + * so we can avoid freeing GPU images and save some + * time by skipping mutex lock. + */ + GPU_free_image(ima); + } ima->ok = IMA_OK; } |