OS/2, eCS & ArcaOS - Technical > Programming
Qt6 Application Testing
Dave Yeo:
Qt-base-os2 issue #53 does talk about using the high-res timer. dmik pointed out that libcn supports clock_gettime(CLOCK_MONOTONIC) which interfaces with the high-res timer directly and planned to enable the UNIX implementation (qelapsedtimer_unix.cpp). Might be worth looking at.
As for NSPR, which uses the environment variable NSPR_OS2_NO_HIRES_TIMER=1 to turn it off, no command line parameter as far as I know. ArcaOS does (did?) add the environment variable to config.sys
I tried yum remove nspr to see the dependencies.
--- Code: ------> Package adobe-source-code-pro-fonts.noarch 0:2.030.1.050-1.oc00 will be erased
---> Package adobe-source-sans-pro-fonts.noarch 0:2.020-1.oc00 will be erased
---> Package dbus-common.noarch 1:1.13.12-1.oc00 will be erased
---> Package lzlib-devel.pentium4 0:1.14-1.oc00 will be erased
---> Package os2-base-fhs.i686 0:0.0.0-19.oc00 will be erased
---> Package os2-base-unixtools-path.pentium4 0:0.0.1-3.oc00 will be erased
---> Package pci-ids.noarch 0:2023.11.11-0.oc00 will be erased
---> Package sgml-common.noarch 0:0.6.3-45.oc00 will be erased
---> Package xml-common.noarch 0:0.6.3-45.oc00 will be erased
--> Finished Dependency Resolution
Error: Trying to remove "yum", which is protected
--- End code ---
So a couple of dependencies, dbus perhaps xml might use NSPR. Though some of the dependencies look weird, fonts?
At one time it was common for computers to have a BIOS option to turn off the hi-res timer, shame this one doesn't.
Paul Smedley:
--- Quote from: Dave Yeo on January 21, 2025, 10:57:50 pm ---Qt-base-os2 issue #53 does talk about using the high-res timer. dmik pointed out that libcn supports clock_gettime(CLOCK_MONOTONIC) which interfaces with the high-res timer directly and planned to enable the UNIX implementation (qelapsedtimer_unix.cpp). Might be worth looking at.
--- End quote ---
Yeah https://github.com/bitwiseworks/qtbase-os2/issues/53 is interesting. I will definitely look in to this. Now whether the webenginewidget code uses the qttimer is another issue. Enhancing the resolution of the timer in qtbase may actually make zero change to webengine if the timing issues are within chromium.
Edit: https://smedley.id.au/tmp/Qt6Core-6.2.11-os2-qelapsedtimer_unix-20250122.zip uses qelapsedtimer_unix.cpp instead of qelapsedtimer_generic.cpp. NB: Minimally tested this (lack of time) - YMMV.... but dooble still loads pages :)
David McKenna:
Paul,
Been running Dooble with this QT6Core.dll and Unix timer, but don't see any change good or bad. No change in any examples I've tried either...
Regards,
Paul Smedley:
Thanks - that was my quick observation too. I'll get the timer tests working that Dmitry alludes to, and see if they've improved test results. I suspect that even if it is timer issues driving issues with Dooble, that those issues are in the chromium code, not the qt code.
Dave Yeo:
Possibly a similar fix could be made in the webengine, also wonder about the various multimedia libraries. I'd assume the ones with a good configure such as FFmpeg will enable clock_gettime(CLOCK_MONOTONIC)
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version