View Issue Details

IDProjectCategoryView StatusLast Update
0006290JEDI VCL00 JVCL Componentspublic2015-09-21 17:47
ReporterDavidVTaylorAssigned ToAHUser 
PrioritynormalSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product VersionDaily / GIT 
Target VersionFixed in Version3.49 
Summary0006290: USB HID Controller excessive polling rate
DescriptionThe design of the TJvHidDeviceReadThread.Execute method does not work well when reading reports from HID devices that are not inherently event driven. When reading from a USB scale, for example, the read requests return immediately resulting in a very aggressive polling rate. The polling rate is only limited by the device's response time which places significant load on the device and wastes CPU cycles.
Additional InformationA configurable throttling mechanism such as the one used to resolve Mantis 5749 would address this issue. The supplied patch adds a new DevPollingDelayTime property to the HID controller and device. The default polling delay is set to zero for backward compatibility and to avoid adversely impacting other use cases.

The attached source file is based on the master branch on GitHub as it existed on 5-16-2014. The file also includes the change required to fix Mantis issue 6289.
TagsNo tags attached.

Activities

2014-05-17 06:00

 

JvHidControllerClass.pas (77,657 bytes)

AHUser

2014-05-17 09:38

developer   ~0020973

Applied to git master branch.

Issue History

Date Modified Username Field Change
2014-05-17 06:00 DavidVTaylor New Issue
2014-05-17 06:00 DavidVTaylor File Added: JvHidControllerClass.pas
2014-05-17 09:38 AHUser Note Added: 0020973
2014-05-17 09:38 AHUser Status new => resolved
2014-05-17 09:38 AHUser Fixed in Version => Daily / GIT
2014-05-17 09:38 AHUser Resolution open => fixed
2014-05-17 09:38 AHUser Assigned To => AHUser
2015-09-21 17:47 obones Fixed in Version Daily / GIT => 3.49