Giter Club home page Giter Club logo

Comments (6)

robmikh avatar robmikh commented on June 14, 2024

Hmmm, interesting. It likely has something to do with the software cursor, as that is forced on with WGC. The good news is that in an upcoming release we've finally removed the transition to the software cursor while capturing. But I'll see what I can find for existing builds.

from windows.ui.composition-win32-samples.

Esvandiary avatar Esvandiary commented on June 14, 2024

Thanks very much! I'll read up on software vs hardware cursor differences and see if that can give me any leads on finding anything in common between people who can reproduce the issue.

Even if the issue can't be worked around on existing builds (as I imagine may be quite likely), finding a differentiator would be very beneficial, since it gives us more fine-grained options than the bludgeon of "fullscreen game + hidden cursor = fall back to DXGI/BitBlt."

I'll also try to narrow down whether OpenGL actually is a common factor here or if that's just coincidence based on the games that have been reported.

from windows.ui.composition-win32-samples.

robmikh avatar robmikh commented on June 14, 2024

Of course! And thanks for digging up more information. If you want to force the software cursor without WGC, you can turn on cursor trails. I think there's also a magnifier API to do so, but I can't remember off the top of my head.

Additionally it would be good to know what builds of Windows this behavior is seen on. Seems like I needed to read your original post closer. Oops!

from windows.ui.composition-win32-samples.

Esvandiary avatar Esvandiary commented on June 14, 2024

Yeah, we've definitely seen it on Win11 22621 and 22631; I'll dig through some of the other user reports and see if I can find any other cases (e.g. I imagine a yes/no for Win10 would be useful! Might struggle for that though as we disable WGC by default on 10 since our users mostly aren't fans of the yellow border)

from windows.ui.composition-win32-samples.

Esvandiary avatar Esvandiary commented on June 14, 2024

Quick update for you @robmikh : we haven't managed to get any definite confirmations for Win10 or other Win11 builds, but we've made the following observations:

  • Interestingly, in all cases the issue appears to only manifest when a single graphics adapter is active in the system
    • caveat: I suspect all the games I've tested personally were only actually willing to go into true exclusive fullscreen mode if a single adapter was active, even if the display in question was connected to the same adapter as the application was using for rendering in multi-adapter scenarios
    • I struggled to test the case where the compositing adapter was also the same, because it seems many games don't respect the Windows graphics "set this application to power saving" setting and just use the dGPU anyway; not sure if there's any hack possible to force compositing to run on a specific adapter to test this
  • In terms of 3D APIs:
    • OpenGL applications are definitely affected while running in exclusive fullscreen
    • DirectX applications don't seem to be affected
    • Vulkan applications are likely not affected (see later for rationale):
      • Dota 2 (with the "Vulkan support" DLC installed, running with the -vulkan launch option) is affected
      • Doom Eternal is unaffected
  • Enabling cursor trails to force the software cursor without recording gives mixed results
    • Minecraft Java Edition (OpenGL) does not exhibit the same behaviour as with WGC; the cursor has no trails, but is visible
      • to me this suggests a WGC-specific issue beyond just use of the software cursor
    • Dota 2 (Vulkan) does exhibit the same behaviour as with WGC; the cursor is invisible while exclusive fullscreen is active
      • so this is likely a separate, wider issue related to the software cursor with some Vulkan apps
    • Doom Eternal (Vulkan) continues to behave normally
  • The WGC-specific behaviour with OpenGL has now been reproduced on NVIDIA, Intel and AMD GPUs, so unlikely to be a vendor driver problem

All of my testing above was tested on a mix of Win11 22631.3447 and 22631.3527

from windows.ui.composition-win32-samples.

robmikh avatar robmikh commented on June 14, 2024

Thanks for the extra info, this will definitely help!

from windows.ui.composition-win32-samples.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.