Wine-Devel
By thread
wine-devel@list.winehq.org
By month
Messages by month
- ----- 2026 -----
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
March 2012
- 93 participants
- 491 messages
Re: Wine release 1.4
by Christian Costa
Ooo. Thanks ! I didn't expect so much for my birthday ! :D
What a pity for Greg. I only knew he retired from supporting the bot. :(
Cheers
Christian
2012/3/7 Alexandre Julliard <julliard(a)winehq.org>
> The Wine team is proud to announce that the stable release Wine 1.4
> is now available.
>
> This release represents 20 months of development effort and over
> 16,000 individual changes. The main highlights are the new DIB
> graphics engine, a redesigned audio stack, and full support for
> bidirectional text and character shaping.
>
> It also contains a lot of improvements across the board, as well as
> support for many new applications, notably Microsoft Office 2010. See
> the release notes below for a summary of the major changes.
>
> This release is dedicated to the memory of Gé (Greg) van Geldorp, who
> passed away in May 2011. Greg single-handedly designed, built, and
> maintained the Wine Testbot, which has become a cornerstone of our
> development process. The high quality of this release owes a lot to
> his work. He is greatly missed by us all.
>
>
> The source is available from the following locations:
>
> http://ibiblio.org/pub/linux/system/emulators/wine/wine-1.4.tar.bz2
> http://prdownloads.sourceforge.net/wine/wine-1.4.tar.bz2
>
> Binary packages for various distributions will be available from:
>
> http://www.winehq.org/download
>
> You will find documentation on http://www.winehq.org/documentation
>
> You can also get the current source directly from the git
> repository. Check http://www.winehq.org/git for details.
>
> Wine is available thanks to the work of many people. See the file
> AUTHORS in the distribution for the complete list.
>
> ----------------------------------------------------------------
>
> What's new in Wine 1.4
> ======================
>
> *** Graphics
>
> - There is a new graphics engine for rendering into Device Independent
> Bitmaps (DIB). DIB rendering no longer requires access faults or
> round-trips to the X server, which yields large performance gains in
> DIB-intensive applications.
>
> - The DIB engine can also be used for fall-back implementations of
> some graphics primitives, like alpha blending, when the display
> driver doesn't support them directly.
>
> - All possible color formats are supported by the DIB engine, so DIB
> operations are no longer limited by the color resolution of the
> display. Rendering of the various palette formats is also improved.
>
> - Custom styles of dashed lines are supported.
>
> - Cosmetic pens using hashes or patterns are supported.
>
> - Gradients use dithering on low color resolution devices for a nicer
> appearance.
>
> - The XRender extension is used for gradients when supported.
>
> - PostScript output quality is improved, particularly for bitmaps and
> paths.
>
> - Rotated text works better for all output device types.
>
> - GdiPlus supports more image formats, including formats that are not
> supported through GDI.
>
> - More image codecs are implemented, including support for TGA and CMYK
> JPEG decoding, as well as BMP, TIFF, PNG, and ICNS encoding.
>
>
> *** Audio
>
> - The audio stack is completely redesigned, based on the Vista
> model. WinMM and DirectSound are implemented on top of the new
> MMDevAPI library.
>
> - The Alsa, OSS, and CoreAudio drivers have been rewritten to use the
> new model. They now serve as back-ends to the MMDevAPI dll, which no
> longer needs to rely on the OpenAL library.
>
> - The Jack, NAS, AudioIO, and ESD audio subsystems are no longer
> supported. Version 3 of the OSS subsystem is no longer supported
> either, version 4 is required.
>
> - The Audio tab in the Wine Configuration tool has been redesigned for
> the new audio subsystem. The appropriate driver is automatically
> selected and no longer needs to be configured manually.
>
>
> *** Input devices
>
> - The XInput 2 extension is used to provide better mouse control in
> games and other full-screen applications.
>
> - The mouse is automatically clipped to prevent it from leaving a
> full-screen window when running in desktop mode. Switching to a
> different application with Alt-Tab releases the mouse. Clipping can
> be disabled through the Wine Configuration tool.
>
> - Animated mouse cursors are fully supported.
>
> - Joystick action mapping is supported, including a configuration dialog.
>
>
> *** Internationalization
>
> - Bidirectional text rendering is fully supported.
>
> - Font shaping and reordering is supported for all the scripts
> specified in the Unicode standard.
>
> - Bidirectional text editing is supported in the standard edit
> control.
>
> - Vertical fonts (e.g. for Japanese) are supported.
>
> - Mirroring of windows, menus, and window controls for right-to-left
> languages is fully supported.
>
> - All resources (strings, menus, dialogs, accelerators) contained in
> Wine can be translated through standard gettext-style po files.
>
> - The Unicode character data tables have been updated to version 6.0
> of the Unicode standard.
>
> - Wine is translated to French, German, Spanish, Italian, Dutch,
> Swedish, Finnish, Portuguese, Catalan, Hungarian, Polish, Russian,
> Slovenian, Lithuanian, Japanese, and Korean. It has partial
> translations for another fifteen languages.
>
>
> *** User interface
>
> - The new Vista style of file dialogs is supported.
>
> - Common controls are improved, particularly the calendar, tree view,
> system link, and image list controls.
>
> - Parts of the Game Explorer API are implemented.
>
> - Wine can take advantage of the GStreamer framework for audio and
> video playback. This makes it possible to support all formats that
> have a GStreamer codec. On Mac OS X, the QuickTime framework is used
> for the same purpose.
>
>
> *** Desktop integration
>
> - System tray notification balloons are implemented.
>
> - The system tray is displayed as a task bar at the bottom of the
> screen in desktop mode.
>
> - The system tray is automatically registered again when the Unix tray
> manager is restarted.
>
> - The standard mouse cursors are remapped to the cursor theme of the
> Unix desktop.
>
> - Drag & drop of OLE objects across applications is supported.
>
> - Icons for menu entries are exported in multiple sizes and in PNG
> format.
>
> - Icons are displayed for the Unix desktop "Open with..." menu
> entries.
>
>
> *** Internet and networking
>
> - The built-in Internet Explorer has a user interface, including a
> menu, an address bar, a tool bar, and configuration dialogs.
>
> - There is an "Internet Settings" control panel that allows
> configuring various aspects of web browsing, as well as managing
> security certificates.
>
> - The VBScript language is fully supported.
>
> - The built-in (Gecko-based) web browser engine supports ActiveX.
>
> - The Gecko engine has been updated to the version from Firefox 8.
>
> - The Gecko engine is packaged as an MSI file, and its installation
> can be managed from the "Add/Remove Programs" control panel.
>
> - The Gecko engine is available on 64-bit.
>
> - Persistent HTTP connections are supported.
>
> - HTTP proxies are better supported, including PAC scripts.
>
> - Changing network passwords is supported.
>
> - The HTML Help support is improved, including a nicer user interface
> and better navigation support.
>
> - Asynchronous I/O on network socket is improved, particularly
> asynchronous accepts. This helps with various networked games.
>
>
> *** Direct3D
>
> - Reloading sRGB textures uses either EXT_texture_sRGB_decode or FBO
> blits when available. This is much faster. This affects Source
> Engine games and Unreal Engine 3 games in particular.
>
> - WineD3D supports multisample anti-aliasing.
>
> - D3D8 and D3D9 properly support v-sync / swap intervals.
>
> - The WineD3D blitter code is improved both for correctness and
> performance.
>
> - The WineD3D graphics card database has been updated to recognize new
> graphics cards and Mesa drivers.
>
> - WineD3D no longer uses COM for its implementation. This makes it
> much nicer to work with.
>
> - The context management code is improved. The window being destroyed
> while the WineD3D device is still active in particular is handled
> much better.
>
> - There have been some performance improvements related to WineD3D
> state management and resource updates.
>
> - Focus and device window handling work better for D3D8 and D3D9. This
> mostly affects things like changing graphics settings, switching
> from full-screen to windowed and back, etc.
>
> - NVDB is supported on cards that support GL_EXT_depth_bounds_test.
>
> - The INTZ and NULL formats are supported.
>
> - Depth surface blits are implemented in WineD3D.
>
> - Depth bias handling is improved. This fixes flickering shadows and
> decals in a couple of games, like Mass Effect 2 and Unreal
> Tournament 2004.
>
> - GL_ARB_draw_elements_base_vertex is supported. This allows draws to
> be more efficient in some cases.
>
> - GL_ARB_map_buffer_alignment is supported. This allows for more
> efficient mapping of textures and buffers in some cases.
>
> - Handling projected textures works better in early shader model
> versions.
>
> - Shaders are strictly checked against the hardware capabilities. This
> means we won't try to create e.g. a shader model 3 shader on shader
> model 2 hardware.
>
> - D3D9EX texture creation from system memory is supported. This
> affects some Source Engine games like Team Fortress 2.
>
> - The D3DX9 shader assembler is mostly finished. It is now part of the
> new d3dcompiler dll.
>
> - Various parts of D3DX9 are more complete, including:
> - The surface / texture loading functions.
> - The mesh creation and manipulation functions.
> - The vertex declaration handling functions.
> - The effects framework, binary effect parsing in particular.
>
>
> *** DirectDraw
>
> - OpenGL is used by default for DirectDraw as well, just like D3D8 and
> D3D9. For most applications this is an improvement, but nevertheless
> the old GDI renderer may still work better for specific applications
> or if the graphics driver's OpenGL implementation is inadequate.
>
> - Flips are properly supported. The back buffer now contains the front
> buffer contents after a flip instead of being undefined.
>
> - Improved support for viewports in early versions of DirectDraw that
> include an extra clipspace transformation. This affects the original
> Half-Life.
>
> - Fixes for cooperative levels and associated window handling and mode
> changes.
>
> - DirectDraw clippers are supported.
>
>
> *** Kernel
>
> - DOSBox is used to run DOS applications on platforms that don't
> support vm86 mode.
>
> - The Windows console is emulated as best as possible on Unix
> terminals without requiring switching into curses mode.
>
> - Volume label and serial number can be retrieved from UDF filesystems
> (used on DVDs).
>
> - Side-by-side manifests are installed for a number of built-in
> libraries to make them more compatible with applications using
> manifest resources.
>
> - The Wine preloader is also used on 64-bit for a more compatible
> address space layout.
>
>
> *** Installer support
>
> - Applying installer patches is supported. This is needed for various
> Service Pack installers, particularly for the .NET ones.
>
> - Installing side-by-side assemblies is supported.
>
> - Rollbacks of failed installs is supported.
>
> - Installing services is better supported.
>
> - MSI installers can be created entirely under Wine, using the
> 'cabarc' and 'winemsibuilder' tools.
>
>
> *** Build environment
>
> - The IDL compiler (widl) can generate format strings for both
> old-style and new-style COM interpreted stubs.
>
> - Registrations for dlls and typelibs are based on scripts generated
> at compile time, for faster Wine prefix creation and updates.
>
> - The Resource Compiler (wrc) and Message Compiler (wmc) can generate
> translated resources from po files, as well as create po files from
> existing translated resources.
>
> - Fake PE dlls are generated and installed for all built-in dlls,
> since many applications expect to find the PE dlls on disk.
>
> - The ARM platform is supported by the Wine tool chain.
>
> - The windows.h header can now be used in Wine code, the compile time
> gains are no longer worth the header incompatibilities.
>
> - Some headers have been modified to make them easier to share with
> the Mingw-w64 project.
>
>
> *** Platform-specific changes
>
> - Wine compiles on ARM platforms.
>
> - On Mac OS X, the secure channel implementation uses the Security
> framework instead of the GnuTLS library.
>
> - On Linux, dynamic device management can use the new UDisks service
> in addition to HAL.
>
> - Stubless OLE proxies are supported also on 64-bit platforms.
>
>
> *** Built-in applications
>
> - The new 'cabarc' program allows manipulation of cabinet files,
> including creation of new cabinets.
>
> - The new 'wscript' program implements the Windows Script Host, to run
> VBScript and JavaScript scripts.
>
> - The new 'taskkill' program allows killing Windows processes by name
> or process id.
>
> - The new 'ipconfig' program displays the IP configuration seen by
> Windows programs.
>
> - The new 'hostname' program displays the hostname seen by Windows
> programs.
>
> - The 'explorer' program implements a shell namespace explorer instead
> of launching the file manager.
>
> - The 'view' program can display enhanced metafiles.
>
> - The 'dxdiag' tool outputs real information about the system.
>
> - The new 'winemsibuilder' tool allows creating MSI installers; it is
> used to build the Gecko add-on package.
>
> - Almost all built-in applications are fully Unicode.
>
> - All applications installed to /usr/bin have a manual page.
>
>
> *** Quality assurance & debugging
>
> - The test suite no longer attempts to support Win9x platforms, this
> was too much effort for little benefit.
>
> - The Wine debugger offers to save crash information to a file, to
> make it easier to provide good information in bug reports.
>
> - Parsing of debugging information from various object file formats is
> improved, which should yield better quality crash information,
> particularly for 64-bit.
>
>
> *** Miscellaneous
>
> - XML support is improved, including support for schemas, namespaces,
> MSXML version 6, and an XML file writer. This is particularly useful
> for the new Microsoft Office XML-based document formats.
>
> - The new "secure" versions of the C runtime functions are almost all
> implemented.
>
> - There is an initial implementation of the Microsoft C++ standard
> class libraries, including string, locale, and stream classes.
>
> - Creation of compressed cabinet files is supported.
>
> - There is an implementation of the OpenCL library, as a wrapper
> around the equivalent Unix library.
>
> - Print jobs are submitted to CUPS directly instead of requiring the
> 'lpr' command-line tool.
>
> - There is support for managing multiple .NET runtime versions and
> their corresponding Mono versions.
>
>
> *** New external dependencies
>
> - The XInput 2 library is used for mouse control in games.
>
> - The libopencl library is used by the OpenCL wrapper dll.
>
> - The libgettextpo library is optionally used at build time to update
> po files from the rc sources.
>
> - The msgfmt tool (from the gettext library) is used at build time to
> compile po files.
>
> - The zlib library is used to implement cabinet file compression.
>
> - The libfreetype library needs to be at least version 2.2, older
> versions are no longer supported.
>
> - The libdbus library is used for the UDisks device support on Linux.
>
> - The smbpasswd tool (part of Samba) is used for changing network
> passwords.
>
> - DOSBox is used to run DOS applications. It is recommended to use the
> latest SVN version of DOSBox since it contains some Wine-specific
> improvements.
>
>
> *** Useful configuration options
>
> Note: More details abouts these and other configuration options can be
> found at http://wiki.winehq.org/UsefulRegistryKeys
>
> - The correct audio driver is detected automatically, but can still be
> overridden through the HKCU\Software\Wine\Drivers\Audio key like in
> previous versions. It is recommended to delete this key entirely to
> enable the auto-detection.
>
> - Multisample anti-aliasing can be disabled by setting "Multisampling"
> to "disabled" under HKCU\Software\Wine\Direct3D.
>
> - Setting "AlwaysOffscreen" to "enabled" under
> HKCU\Software\Wine\Direct3D simplifies sharing depth / stencil
> surfaces between on-screen and off-screen render targets in
> WineD3D. This will likely become the default for the next release.
>
> - The DirectDraw renderer can be switched back to the old GDI mode by
> setting "DirectDrawRenderer" to "gdi" under HKCU\Software\Wine\Direct3D.
>
>
> *** Known issues
>
> - Support for PulseAudio is improved, but very recent versions of
> PulseAudio (>= 1.0) and alsa-plugins (>= 1.0.25) are required for
> good results, since older versions contain various bugs.
> See http://wiki.winehq.org/Sound for details.
>
> --
> Alexandre Julliard
> julliard(a)winehq.org
>
>
March 7, 2012
Re: Wine release 1.4
by Jeremy White
On 3/7/12 10:21 AM, Alexandre Julliard wrote:
> The Wine team is proud to announce that the stable release Wine 1.4
> is now available.
>
Let me be the first to say: Woohoo!!!!
Cheers,
Jeremy
March 7, 2012
Re: Two questions on the Portuguese translation
by Frédéric Delanoy
> BTW, when is the final release of 1.4 coming?
> Thanks.
Likely today.
This shouldn't prevent you from sending translation patches, though.
They'll be eventually incorporated in a future 1.4.1 release (and
1.5.x)
Frédéric
March 7, 2012
Re: Two questions on the Portuguese translation
by Fernando
On Mar 7, 2012 13:40 "Francois Gouget" <fgouget(a)free.fr> wrote:
> Hi,
>
> I noticed two Portuguese translations that look a bit strange to me:
>
> msgid ""
> "You don't have a drive C. This is not so great.\n"
> "\n"
> "Remember to click 'Add' in the Drives tab to create one!\n"
> msgstr ""
> "se não tem uma unidade C. Isto não é nada bom.\n"
> "\n"
> "Certifique-se que clica em ?Adicionar? no separador Unidades para
> criar "
> "uma!\n"
>
> Are the question marks around 'Adicionar' normal? I did not see this
> pattern elsewhere.
>
>
No, it should be merely 'Adicionar' (with quotes). I don't know where
the ? come from.
>
> msgid "&Search...\tCtrl+F"
> msgstr "&Localizar..."
>
> This translation is missing the keyboard shortcut. Is that
> intentional?
>
>
No, it should have the shortcut.
Also, personally I don't think "Localizar" is the best translation. It
should be "Procurar" and "Localizar" would be more suitable as a
translation to "Browse". But I would need to look at all occurrences of
both for consistency.
BTW, when is the final release of 1.4 coming?
Thanks.
March 7, 2012
Two questions on the Portuguese translation
by Francois Gouget
Hi,
I noticed two Portuguese translations that look a bit strange to me:
msgid ""
"You don't have a drive C. This is not so great.\n"
"\n"
"Remember to click 'Add' in the Drives tab to create one!\n"
msgstr ""
"se não tem uma unidade C. Isto não é nada bom.\n"
"\n"
"Certifique-se que clica em ?Adicionar? no separador Unidades para criar "
"uma!\n"
Are the question marks around 'Adicionar' normal? I did not see this
pattern elsewhere.
msgid "&Search...\tCtrl+F"
msgstr "&Localizar..."
This translation is missing the keyboard shortcut. Is that intentional?
--
Francois Gouget <fgouget(a)free.fr> http://fgouget.free.fr/
The nice thing about meditation is that it makes doing nothing quite respectable
-- Paul Dean
March 7, 2012
Re: [PATCH] configure: Check if version of msgfmt (from gettext) is recent enough by checking features (try 2).
by Francois Gouget
On Mon, 5 Mar 2012, Christian Costa wrote:
[...]
> +dnl Check the msgfmt version
> +if test "$MSGFMT" = "msgfmt"
> +then
> + AC_MSG_CHECKING([whether msgfmt (from gettext) is recent enough])
The comment and message should be more something like 'checking for
msgfmt message context support'.
> + cat >conftest.po <<EOF
> +# comment
> +msgctxt "ctxt"
> +msgid "id"
> +msgstr "str"
> +EOF
I believe you are 'leaking' the conftest.po file (unless the configure
script automatically cleans up every file that starts with 'conftest').
--
Francois Gouget <fgouget(a)free.fr> http://fgouget.free.fr/
May your Tongue stick to the Roof of your Mouth with the Force of a Thousand Caramels.
March 7, 2012
Re: [docs] winedev: Update gcov section (try 2)
by André Hentschel
Am 06.03.2012 06:13, schrieb Saulius Krasuckas:
> * On Mon, 5 Mar 2012, André Hentschel wrote:
>>
>> en/winedev-otherdebug.sgml | 170 ++++++++++++++++----------------------------
>> 1 files changed, 62 insertions(+), 108 deletions(-)
> ...
>> <para>
>> For a further in depth description of gcov, the official gcc
>> compiler suite page for gcov is <ulink
>> - url="http://gcc.gnu.org/onlinedocs/gcc-3.2.3/gcc/Gcov.html">
>> - http://gcc.gnu.org/onlinedocs/gcc-3.2.3/gcc/Gcov.html</ulink>.
>> - There is also an excellent article written by Steve Best for
>> - Linux Magazine which describes and illustrates this process
>> - very well at
>> - <ulink url="http://www.linux-mag.com/2003-07/compile_01.html">
>> - http://www.linux-mag.com/2003-07/compile_01.html</ulink>.
>> + url="http://gcc.gnu.org/onlinedocs/gcc/Gcov.html">
>> + http://gcc.gnu.org/onlinedocs/gcc/Gcov.html</ulink>.
>> </para>
>
> I am not sure whether it's OK to exclude link to the article on Linux
> Mag., which only has changed it's URL over time:
>
> http://www.linux-mag.com/id/1409/
>
> S.
Didn't found that url before. Anyway, it's quite old and maybe wrong now.
Further my guide is quite easy i think/hope.
Be free to send a patch, but i don't think it's that usefull.
--
Best Regards, André Hentschel
March 6, 2012
Re: Users with native w2k/wxp/Vista/w7, please test (CreateTimerQueue)
by Jerome Leclanche
Jörg, do you need more tests? I have a W7 home premium 32bit laptop I can
boot.
J. Leclanche
On Tue, Mar 6, 2012 at 4:37 PM, Maarten Lankhorst
<m.b.lankhorst(a)gmail.com>wrote:
> Hey Joerg,
>
> Op 06-03-12 11:21, Joerg-Cyril.Hoehle(a)t-systems.com schreef:
> > Hi,
> >
> > If you can run MS-Windows without virtual machine, please visit testbot
> > https://testbot.winehq.org/JobDetails.pl?Key=17175
> > download the 32 or 64bit executable and execute it.
> >
> > I can't really trust vm machines for timing, but so far it appears that:
> >
> > - Vista/w2k8SE/w7 perform rate correction so as to maintain an average
> number of callbacks
> > sync.c:583: TimerQueue period 10ms with 0 stress, flags 0
> > sync.c:558: thread 1340 hpctime 30 delta 15
> > sync.c:558: thread 1340 hpctime 46 delta 16
> > sync.c:558: thread 1340 hpctime 46 delta 0
> > sync.c:601: 80 callbacks within 796/800ms, avg 9.950/10
> >
> > They'll refire with up to 0 wait upon noticing that it's very late!
> >
> > sync.c:583: TimerQueue period 10ms with 7 stress, flags 10
> > sync.c:558: thread 1340 hpctime 46 delta 15
> > sync.c:570: thread 1340 busy 7ms
> > sync.c:558: thread 1340 hpctime 53 delta 7
> > sync.c:570: thread 1340 busy 7ms
> > sync.c:558: thread 1340 hpctime 62 delta 9
> > sync.c:570: thread 1340 busy 7ms
> > sync.c:558: thread 1340 hpctime 77 delta 15
> > sync.c:570: thread 1340 busy 7ms
> > sync.c:558: thread 1340 hpctime 84 delta 7
> > sync.c:570: thread 1340 busy 7ms
> > sync.c:601: 59 callbacks within 607/600ms, avg 10.288/10
> >
> > It maintains its average even the callback is busy for 7ms within each
> 10ms interval.
> >
> > sync.c:583: TimerQueue period 10ms with 12 stress, flags 20
> > sync.c:558: thread 828 hpctime 31 delta 12
> > sync.c:570: thread 828 busy 12ms
> > sync.c:558: thread 828 hpctime 43 delta 12
> > sync.c:570: thread 828 busy 12ms
> > sync.c:601: 42 callbacks within 507/400ms, avg 12.071/10
> >
> > This one surprises me. No multiple threads are used. Wine uses several
> > threads here. When every callback is busy for 12ms, MS does not reach
> > an average 10ms per invocation, whereas Wine does, thanks to several
> > threads that execute the callbacks concurrently.
> >
> > I want to figure out why several threads were not used.
> >
> > sync.c:601: 40 callbacks within 4624/4680ms, avg 115.600/117
> > Ok. Note that the average is usually slightly lower than expected, simply
> > because the first callback is asked to fire at time period/2.
> >
> > - w2k/xp do not maintain an average (at least on testbot)
> > sync.c:583: TimerQueue period 10ms with 0 stress, flags 0
> > sync.c:558: thread 836 hpctime 30 delta 15
> > sync.c:558: thread 836 hpctime 46 delta 16
> > sync.c:601: 51 callbacks within 796/800ms, avg 15.608/10
> >
> > So at least in testbot, the minimum rate is the well-known 15.625ms
> interval.
> > Note that the 15.625ms is visible in the w7 testbot results too.
> >
> > sync.c:583: TimerQueue period 117ms with 0 stress, flags 20
> > sync.c:558: thread 840 hpctime 311 delta 125
> > sync.c:558: thread 840 hpctime 436 delta 125
> > sync.c:601: 37 callbacks within 4561/4680ms, avg 123.270/117
> >
> > Unlike w7, it never corrects to a smaller interval like 109ms to reach
> > the requested average of 117ms.
> >
> > This is good news for audio in Wine, because we can make
> > CreateTimerQueue mimic Vista/w2k8/w7 behaviour to give us a stable rate
> (on average).
> >
> > The logs are quite long, you can send me them per e-mail.
> >
> > Thank you,
> > Jörg Höhle
> >
> Have you tried changing the resolution with timeBeginPeriod? Supposedly
> affects those too..
>
> ~Maarten
>
>
>
March 6, 2012
Re: Users with native w2k/wxp/Vista/w7, please test (CreateTimerQueue)
by Maarten Lankhorst
Hey Joerg,
Op 06-03-12 11:21, Joerg-Cyril.Hoehle(a)t-systems.com schreef:
> Hi,
>
> If you can run MS-Windows without virtual machine, please visit testbot
> https://testbot.winehq.org/JobDetails.pl?Key=17175
> download the 32 or 64bit executable and execute it.
>
> I can't really trust vm machines for timing, but so far it appears that:
>
> - Vista/w2k8SE/w7 perform rate correction so as to maintain an average number of callbacks
> sync.c:583: TimerQueue period 10ms with 0 stress, flags 0
> sync.c:558: thread 1340 hpctime 30 delta 15
> sync.c:558: thread 1340 hpctime 46 delta 16
> sync.c:558: thread 1340 hpctime 46 delta 0
> sync.c:601: 80 callbacks within 796/800ms, avg 9.950/10
>
> They'll refire with up to 0 wait upon noticing that it's very late!
>
> sync.c:583: TimerQueue period 10ms with 7 stress, flags 10
> sync.c:558: thread 1340 hpctime 46 delta 15
> sync.c:570: thread 1340 busy 7ms
> sync.c:558: thread 1340 hpctime 53 delta 7
> sync.c:570: thread 1340 busy 7ms
> sync.c:558: thread 1340 hpctime 62 delta 9
> sync.c:570: thread 1340 busy 7ms
> sync.c:558: thread 1340 hpctime 77 delta 15
> sync.c:570: thread 1340 busy 7ms
> sync.c:558: thread 1340 hpctime 84 delta 7
> sync.c:570: thread 1340 busy 7ms
> sync.c:601: 59 callbacks within 607/600ms, avg 10.288/10
>
> It maintains its average even the callback is busy for 7ms within each 10ms interval.
>
> sync.c:583: TimerQueue period 10ms with 12 stress, flags 20
> sync.c:558: thread 828 hpctime 31 delta 12
> sync.c:570: thread 828 busy 12ms
> sync.c:558: thread 828 hpctime 43 delta 12
> sync.c:570: thread 828 busy 12ms
> sync.c:601: 42 callbacks within 507/400ms, avg 12.071/10
>
> This one surprises me. No multiple threads are used. Wine uses several
> threads here. When every callback is busy for 12ms, MS does not reach
> an average 10ms per invocation, whereas Wine does, thanks to several
> threads that execute the callbacks concurrently.
>
> I want to figure out why several threads were not used.
>
> sync.c:601: 40 callbacks within 4624/4680ms, avg 115.600/117
> Ok. Note that the average is usually slightly lower than expected, simply
> because the first callback is asked to fire at time period/2.
>
> - w2k/xp do not maintain an average (at least on testbot)
> sync.c:583: TimerQueue period 10ms with 0 stress, flags 0
> sync.c:558: thread 836 hpctime 30 delta 15
> sync.c:558: thread 836 hpctime 46 delta 16
> sync.c:601: 51 callbacks within 796/800ms, avg 15.608/10
>
> So at least in testbot, the minimum rate is the well-known 15.625ms interval.
> Note that the 15.625ms is visible in the w7 testbot results too.
>
> sync.c:583: TimerQueue period 117ms with 0 stress, flags 20
> sync.c:558: thread 840 hpctime 311 delta 125
> sync.c:558: thread 840 hpctime 436 delta 125
> sync.c:601: 37 callbacks within 4561/4680ms, avg 123.270/117
>
> Unlike w7, it never corrects to a smaller interval like 109ms to reach
> the requested average of 117ms.
>
> This is good news for audio in Wine, because we can make
> CreateTimerQueue mimic Vista/w2k8/w7 behaviour to give us a stable rate (on average).
>
> The logs are quite long, you can send me them per e-mail.
>
> Thank you,
> Jörg Höhle
>
Have you tried changing the resolution with timeBeginPeriod? Supposedly affects those too..
~Maarten
March 6, 2012
Re: Users with native w2k/wxp/Vista/w7, please test (CreateTimerQueue)
by Joerg-Cyril.Hoehle@t-systems.com
Vitaliy Margolen wrote:
>Have you used timeBeginPeriod() in your tests?
No, since the test isn't using winmm at all, it didn't strike me that
this might have an influence.
Regards,
Jörg Höhle
March 6, 2012