Hello everyone.
I am using Rhino Compute to process a relatively large Grasshopper file (~3MB) on a Windows Server with the recommended production deployment setup as per the official documentation.
The typical computation time is between 2 and 8 seconds per request, which is acceptable for me. Unfortunately, when there are grasshopper errors present in the file (after some changes are made), the computation is extremely slow, at minimum it takes 1 minute and 20 seconds (not taking into account the geometry worker startup time). It may be worth noting that the output from this grasshopper file is usable despite the bugs/errors, so I can ignore them, but it is too slow.
The errors as returned in the JSON response of POST /grasshopper
"errors": [
"Curve must be closed for Area calculation: component \"Area\" (d7efd7c2-6757-46cd-8ea4-c3ca964a26ef)",
"Insufficient interpolation points for a curve: component \"Interpolate\" (fbdc3403-da2c-4a62-828c-b105503e70aa)",
"Capping algorithm failed to return a result.: component \"Cap Holes\" (a9df6326-e6a9-4890-852f-ce3cf9534a3a)",
"Solution exception:Object reference not set to an instance of an object.: component \"Loft Mesh\" (167e9d1a-ffd9-40a8-a05e-ad64185d48ea)",
"Solution exception:Object reference not set to an instance of an object.: component \"Loft Mesh\" (e8465261-29f3-4379-9b96-56a29e2aaf75)",
"Curve must be closed for Area calculation: component \"Area\" (1ac794d6-55b5-4c04-b4fe-43b052a465f9)",
"Invalid cast: Brep » Brep: component \"Deconstruct Brep\" (8fb4adaf-4f22-4346-9d59-028b7eff24ab)",
"Curve must be closed for Area calculation: component \"Area\" (d1c3302f-3ebb-4bfd-81db-e488c8f3c021)",
"Invalid cast: Brep » Brep: component \"Deconstruct Brep\" (2882d3c7-d739-4301-8320-09be6f44857d)",
"Data conversion failed from Curve to Brep: component \"Split Brep\" (64c76ac3-23bb-41b5-be8f-4cd6cedc9c55)",
"Data conversion failed from Point to Mesh: component \"Mesh\" (1b0f4325-2ee6-435a-9955-fcf8f5d2e573)",
"Data conversion failed from Point to Mesh: component \"Mesh\" (400c6d53-40f2-4069-b924-8dda52129129)",
"Data conversion failed from Point to Mesh: component \"Mesh\" (fbdaa4d9-6a06-4de6-811e-f7fa9aa477ff)",
"Data conversion failed from Point to Mesh: component \"Mesh\" (0056cc96-1e5f-4b41-a85e-d3d6f5957d56)",
"Data conversion failed from Point to Mesh: component \"Mesh\" (e1421079-eb15-45a3-890b-fdcb913448bf)",
"Data conversion failed from Point to Mesh: component \"Mesh\" (6a40e09a-aa1e-406a-ba3d-6e692fd1a84f)"
]
We don’t notice the errors causing an impact on the compute time when hosting the file on ShapeDiver, so this leads me to believe there is an issue with the Rhino Compute server (perhaps ShapeDiver host an optimized version or configuration).
Is there any way to know if this is caused by Grasshopper, Rhino Compute, Geometry and how can we fix this? Maybe there is a flag to ignore errors somewhere?