[F3D] Serializable node library format concept#514
[F3D] Serializable node library format concept#514Lilaa3 wants to merge 63 commits intoFast-64:mainfrom
Conversation
Dragorn421
left a comment
There was a problem hiding this comment.
looks very interesting!
I'm surprised this is faster than a library blend, how did you time that?
|
@Dragorn421 At least with my latest commit and in blender 4.1 oot level imports go by quickly (tho i didnt time it but i vaguely know how long main takes) |
|
I figured out a way to boost performance, and its literally deleting the existing node group if we are gonna update materials anyways lol |
|
Timings for importing OoT's deku tree map: much better! wouldn't be a blocker for merging, but doesn't really back "it's faster" |
uh, still? guess I'll take it, material creation FEELS faster tho, maybe I just imagined it |
|
Timing the "create f3d mat" operator (ignoring the first time clicking the button): |
|
methodology:
diff --git a/fast64_internal/f3d/f3d_material.py b/fast64_internal/f3d/f3d_material.py
index 56e6113b..7db70178 100644
--- a/fast64_internal/f3d/f3d_material.py
+++ b/fast64_internal/f3d/f3d_material.py
@@ -2625,8 +2625,16 @@ class CreateFast3DMaterial(Operator):
if obj is None:
self.report({"ERROR"}, "No active object selected.")
else:
+
+ import time
+ start = time.time()
+
preset = getDefaultMaterialPreset("Shaded Solid")
createF3DMat(obj, preset)
+ end = time.time()
+
+ print("mat create time (s):", end-start)
+
self.report({"INFO"}, "Created new Fast3D material.")
return {"FINISHED"}
|
Keeps track of actual name, finally respecting any attempts at a user using the same names. Remove unused fast64 node groups. Add "(Fast64)" to node group names
|
Anecdotally, this feels a lot faster on 4.5 (ignore previous statement I am dumb) |
jesusyoshi54
left a comment
There was a problem hiding this comment.
I'll leave it up to someone OOT to merge based on their feelings of the value of speed
Dragorn felt it wasn´t worth it, so we shouldn´t merge unless everyone agrees. I like it for streamlined upgrades, the real diff and letting you make changes in any version. Dragorn dislikes it because the speed is either equal to or slower. |
This would allow fast64 to have 0 binary blobs (outside images anyways).