trevor Posted November 3, 2016 Share Posted November 3, 2016 While you have the hood up.... New Command : Filter Events; <OBJECT>;<OBJECT>;...... <OBJECT> Create a dictionary for each port, Set the dictionary to the list values if you receive this command. Only send events for the objects listed in the dictionary to the current port, or default to ALL if the dictionary is empty. This will significantly cut down the port traffic and make both ends more efficient. My train controller plug-in works pretty well at the moment, but will be less so if the user has a slew of other events happening from the EV code, or there is another plug-in running. Note: Certain events should not be filtered. e.g. Project Close, Load and the like. Again... IDs would be better than names as an option. Link to comment Share on other sites More sharing options...
Neo Posted November 3, 2016 Share Posted November 3, 2016 Hi Trevor, filtering out events on the Studio side would currently not improve the performance, because the network interface is faster than the event management (when using localhost). This might change after the event management was optimized in a future version, but trying to synchronize a plugin to the Studio is a hard task due to the asynchronous concept of the network interface, so keep in mind that a better performance does not automatically solve all synchronization problems. Kind regards, Neo Link to comment Share on other sites More sharing options...
trevor Posted November 3, 2016 Author Share Posted November 3, 2016 5 minutes ago, Neo said: Hi Trevor, filtering out events on the Studio side would currently not improve the performance, because the network interface is faster than the event management (when using localhost). This might change after the event management was optimized in a future version, but trying to synchronize a plugin to the Studio is a hard task due to the asynchronous concept of the network interface, so keep in mind that a better performance does not automatically solve all synchronization problems. Kind regards, Neo Yes I do realize that NEO, but sending receiving and filtering through a bunch of "noise" seems counterproductive if it can be done at your end easily enough. I mean one of us has to do it.... and the CPU can only do so much... Link to comment Share on other sites More sharing options...
trevor Posted November 3, 2016 Author Share Posted November 3, 2016 And I'm certain a ContainsKey is a lot quicker than all the overhead associated with transmission and reception by the time you add in all the thread wake up latencies. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now