[Bug 41653] The Banner Saga 2, The Inner World, Samorost 3: image flickering on Wine-staging (d3d9, adobe air)

wine-bugs at winehq.org wine-bugs at winehq.org
Mon Nov 21 03:17:14 CST 2016


https://bugs.winehq.org/show_bug.cgi?id=41653

--- Comment #8 from donanykey at gmail.com ---
In short: there is `StrictDrawOrdering=enabled` option in wine registry 
flushing objects to GL as soon as they come. It makes the test app show
rectangles correctly and picture of The Banner Saga an Inner World much better
(The Inner World is playable), but flickering still could be met especially on
*unloaded* threads (debug, fps measurements). 

In long: Starling is using AGAL (Adobe Graphics Assembly Language) for simple
2D shaders like this
https://github.com/Gamua/Starling-Framework/blob/master/starling/src/starling/rendering/MeshEffect.as#L74

Then, I suppose, Air runtime converts them to a platform's shaders (Direct3d in
windows case). 

Common for all these applications is that there are 2 threads: one for
preparing animations (positions/textures/etc): while another - preparing
rendering pipeline and calling DrawPrimitive itself. Noteworthy, that one
thread could call BeginScene, another one - EndScene. 

So there is a lot of IPC, and if the threads are heavy loaded (debug output,
compiling in the background, etc) OR special in-game debug frames enabled (fps,
memory) the flickering is almost gone. Probably if there is a way to limit
framerate to something dramatically lower then 100-120 (on my hardware) - the
games will be playable only with `StrictDrawOrdering=enabled` option

I think it would be a good idea to test the games on non-nvidia cards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list