WinRT is an application framework meant as a replacement for the decades old Win32 API (at least the non-GUI parts of it). Because WinRT is COM-based, and entirely unmanaged code, accessing it directly from Xojo is possible.
The Timer and Xojo.Core.Timer classes gives us a resolution that is more than enough for most of the cases where we need to use them. In fact, under macOS we don’t find any kind of limitation when using the classes provided by the Xojo Framework: we can achieve a maximum resolution of 1 ms on any of the most recent computers.
But when working with Windows OS this is not so straightforward . It doesn’t matter if we try to set the Timer Period property to a minimum value of 1 ms; Windows imposes a minimum resolution of 16 ms, insufficient when we demand the maximum precision for a critical task (period interval between Timer firings).
Of course Xojo has a solution for this, you can resort to a third-party plug-in that works extremely well … or you might find the following technique useful for all kinds of projects.
Viruses continue to be a big problem on Windows. As a result, anti-virus software can be a bit over-zealous about detecting what it believes to be apps that have viruses embedded within them. We have had reports over the years that apps made with Xojo are sometimes falsely identified as being infected with a virus. This sometimes occurs because the 32-bit Xojo compiler puts executable code in a location where the anti-virus software doesn’t expect to find it. We’ve seen this occur even when users are debugging apps from the IDE. Fortunately in that case, there’s a fairly easy solution.
In his poem, “The Mouse”, Robert Burns wrote:
The best-laid plans of mice and men oft go astray…
As Burns so eloquently stated, no matter how carefully you plan sometimes things just don’t work out. Anyone who has done software development for long knows this all too well.
If you are a Mac or Linux web or cross-platform developer, one of the easiest ways to test your apps on Windows is to use a virtual machine. And you can test Windows in a VM completely for free by using the test VMs provided by Microsoft.
In Xojo 2016 Release 4 we switched our main graphics rendering engine on Windows from GDI and GDI+ to Direct2D/DirectWrite. Direct2D/DirectWrite was first introduced by Microsoft in Windows 7, with support in Vista via a Platform Update. It is (or was at the time) Microsoft’s new high-performance 2D vector Graphics API.