Inside the Device Monitoring Studio, Part 1
This article contains some of the many interesting facts you may be interested to know about the Device Monitoring Studio.
Profile Guided Optimization
We use the technique known as Profile Guided Optimization (PGO) to optimize the Device Monitoring Studio code. This powerful feature of Microsoft® compiler is used to optimize the code for common usage scenarios. For example, the most common usage scenario for a Device Monitoring Studio is a device monitoring.
We host a number of test runs for each public release, monitoring hardware of different type and class, and trying to include as much related application features as it is possible. As a result, we get an application that is extremely optimized for device monitoring with an unbeatable performance, low memory and disk space usages. These test runs are run separately for x86 and x64 platforms.
The installation package, program executable file and all driver files are digitally signed. That means that you can always check if the file is in its original form, unmodified and unpatched. If the file in question verifies to hold HHD Software digital signature that means this is a file that has been thoroughly tested by our release team and is guaranteed to be stable and virus-free and malware-free.
You may wonder why we do not sign dynamic link libraries. The answer is - performance! A lot of applications out there try to load a number of dynamic link libraries on the same virtual address resulting in operation system loader taking a lot of additional effort to relocate them. This not only takes time, but also consumes memory, because some DLL pages are not shared between applications anymore and are now backed by the page file.
All Device Monitoring Studio modules are carefully placed within the virtual address space; the operation system loader has nothing to relocate there. In addition, the installation program uses a technique known as binding, to further increase application loading time. Unfortunately, this technique is not compatible with module signing, because it "tunes" the module for the given operating system, patching it as necessary.
All graphics you see in the application are vector-based. It is rendered on-the-fly to deliver outstanding quality. The high-performance built-in renderer is capable of processing complex vector-based graphics, including curves, gradient fills and affine transformations.
This feature delivers nicely looking images on high-DPI displays, like the ones built into most modern laptops. It also allows people with disabilities to set the size of icons in the application to the one most appropriate for them.
Device Monitoring Studio 5.10 introduced built-in scripting support. It offers a generic infrastructure to writing script blocks that control various application features. The current version offers full scriptable interfaces for Serial Terminal and MODBUS Send modules with more to come in future versions. In future, the script will be capable of controlling the creation and configuration of monitoring sessions and processing monitored data, for example.