From fda7fff14660e20b951b61ac6ff331774cd73f54 Mon Sep 17 00:00:00 2001 From: Grant Sanderson Date: Wed, 13 Jan 2021 00:10:17 -1000 Subject: [PATCH] Allow caching of shader program code --- manimlib/shader_wrapper.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/manimlib/shader_wrapper.py b/manimlib/shader_wrapper.py index 282deb8d..87f1ccc6 100644 --- a/manimlib/shader_wrapper.py +++ b/manimlib/shader_wrapper.py @@ -121,11 +121,15 @@ class ShaderWrapper(object): return self -# Helper functions related to shader code +# For caching +filename_to_code_map = {} + def get_shader_code_from_file(filename): if not filename: return None + if filename in filename_to_code_map: + return filename_to_code_map[filename] try: filepath = find_file( @@ -149,6 +153,7 @@ def get_shader_code_from_file(filename): os.path.join("inserts", line.replace("#INSERT ", "")) ) result = result.replace(line, inserted_code) + filename_to_code_map[filename] = result return result