- a SDK program that calls GoSystem_EnableData()/GoSensor_EnableData() but does not dispose of the GoDataSet objects created by the SDK will cause the SDK program memory consumption to rise over time AND can potentially cause processing drops on the sensor.
|What GoSystem_EnableData()/GoSensor_EnableData() does:
- A call to the EnableData() does the following:
- creates a data channel (TCP connection) between the sensor and the SDK host computer
- causes sensor to send scan data (eg. profiles/surfaces, measurements, features etc) to the SDK host computer
- by default, SDK will allocate memory on the host computer to create GoDataSet objects to hold the sensor scan data and put those GoDataSet objects into the GoSystem.dataQueue
- if SDK does not dispose of the GoDataSet objects, host computer memory consumption will increase over time.
- this could even cause the sensor to have processing drops.
- The SDK program writer MUST PROVIDE code to dispose of the created GoDataSet objects as soon as the object is no longer useful to the SDK program.
- this frees the memory allocated on the host computer.