http://bugs.winehq.org/show_bug.cgi?id=19889
--- Comment #34 from Alexey Loukianov mooroon2@mail.ru 2011-10-31 01:47:29 CDT --- Well, looks like with the introduction of new Wine DIB engine Steam client lag had improved a lot but it still spikes CPU usage very high as soon as I move mouse over any interface elements that has "on mouse over" reactions.
As a side note: nVIDIA Linux drivers support Xorg config option called "IndirectMemoryAccess". In case it is set to "False" driver seems to try to map all available GPU "local cache" (a.k.a. VRAM) into large linear buffer inside system physical address space so it has full and direct access to the onboard videocard memory. It is the default behavior for nVIDIA linux driver.
Setting this option to "True" (and thus disabling direct access to the onboard videocard memory) have a huge impact on the Steam client performance. When I write huge I really mean HUGE lag - "on mouse over" reaction might happen several seconds after the actual event, general UI updates for Steam client seems to be lagging hugely, e.t.c.
It leads me to a conclusion that Steam seems to be using extremely inefficient method of UI rendering when it firstly renders it's UI onto offscreen surface (I suspect it to be drawing on DIB/HDC using gdi and/or gdiplus routines) and then blits the result to the window frontbuffer. General slowness of the Steam client interface even on the native OS when running on low-CPU-power system (like AMD APU C-50) fits this theory pretty well.