I’m encountering a challenge with my setup where I have two computers networked: one laptop running OSC Pilot, sending messages to a Processing application, which then forwards these messages across the network to a PC running Rhino. In Rhino, messages are received via UDP Ghowl in Grasshopper (GH).
My project involves a GH sketch that generates geometry, curves, surfaces, and allows toggling the display of these elements on and off. However, I’m facing an issue where OSC messages are dropped when they arrive faster than a certain threshold – seemingly around one message per second. Document relative complexity below, roughly one - two second maximum execution time.
Here’s a concise breakdown of the setup and issue:
- Setup: Laptop (OSC Pilot) → Processing → PC (Rhino with GH running UDP Ghowl).
- Problem: When interacting rapidly with the touch interface on OSC Pilot (e.g., tapping three buttons quickly), not all messages are registered in the GH UDP module, even though they pass through Processing correctly.
Interestingly, when I isolate the UDP reception section in a new GH document, message reception is flawless, supporting a high rate of interactions. However, in the full GH document, subsequent messages sometimes don’t appear in the panel display. This is the section:
Attempts to Resolve:
- Distributing messages across five different ports for better management – didn’t resolve the issue.
- Having Processing resend messages multiple times at specified intervals – introduces latency and inconsistency.
Questions:
- Could the execution of a GH path be monopolizing Ghowl, preventing it from reading incoming messages?
- Are there alternative strategies or protocols I could adopt to improve data flow into GH, ensuring a reasonable update rate?
I’m open to any protocol that can interface well with Processing and GH. Thank you in advance for any insights or advice you can provide!