To work around this, all window messages in ported apps are marshalled to execute sequentially. Small additional overhead, and the system doesnt spread available threads, so noticably slower.
Compare a native Haiku app with a ported app, one is smooth as ice while the other isnt. Users notice it. This is on many core systems.