The GPU's name was never retrieved, meaning that whenever a GPU was
found, all its information was displayed, except for its name, although
it was expected on the QML side.
This commit fixes this issue.
When reading the `ComputerStatistics` and `ProcStatistics` from a file
(and thus from a dictionary), the `computer` and `process` objects need
to be correctly initialized as `ComputerStatistics` and `ProcStatistics`
objects. Otherwise, they cannot access their `fromDict` method and will
remain empty dictionaries.
In particular:
- In common/, remove the backport of weakref.WeakMethod
- In docs/ and ui/, use the standard FileNotFoundError class
- Use built-in open() instead of io.open(), and stop importing io
- In core/stats.py, use the standard implementation of xml.etree instead
of the C one
`io_counters` is not always available (e.g. under Ubunutu 20 run in WSL), resulting in an exception being throw.
See #1373 for a complete explanation of the issue.
* do not rely on the ordering of the json entries, as it can vary from
one version to another.
* ensure variables are always initialized (even in case of exception)
* add some debug logging on errors in nvidia-smi parsing
* signal can only be used in the main thread, leading to an error when StatisticThread is instantiated inside a QThread
* misc fixes on imports and variable names
* Add chunk notion for parallelization
* Allows Node desc to implement custom updateInternals
* CameraInit node implement a specific updateInternals to update the
input image list
* FeatureExtraction, FeatureMatching, DepthMap, DepthMapFilter:
implement parallelization