Official release thread for WindowCast core

In the case of “p3st” method.
In the case of the method of adding an application in LB, RA is started first, and when PCSX2 is started while looking for a hook target, the hook succeeds instantly. This is fantastic.

My idea was to set all the platforum games in bulk in LB. Therefore, I tried a method of adding RA + WindowsCast with a plug-in called batch application addition of LB. However, in this case, it didn’t work because PCSX2 and RA were started at the same time.

It felt like a phenomenon that DirectX on the Windows side was confused for a moment. (It is similar to the phenomenon of losing hook if you launch it at the same time when capturing a type of recording that hook the window.)

I started PCSX2 first, and after DirectX was stabilized, I started RA later, and the hook was successful.

However, there were many times when hooking failed or Alt+Tab stopped responding (because RA freezes) in a few seconds, and I had a hard time fine-tuning.

1 Like

5 Likes

Since the thread already got bumped, I have a general question about it: does the core refresh rate run in lockstep with the underlying game? or is it decoupled? that is, could I run the core/RetroArch at, say, 120 Hz while the underlying game runs at 60 Hz? or, conversely, run the underlying game at 144 Hz while RetroArch runs at 60?

2 Likes

I believe it’s decoupled.
I noticed forcing 60hz to play a 60Hz game was a lot smoother than my default desktop/RA 120Hz.

It’s one of the main issues with this core imo, I can’t use gsync and I notice some stutters.

3 Likes

that actually opens up some interesting doors, I think, for things like software BFI >60 Hz. :thinking:

2 Likes

Hmm… I wonder if that’s why I had so much trouble getting it to work.

1 Like

All honesty to everyone in this thread, I kinda just lost momentum with keeping up with community updated on this and maintaining this and got sidetracked with other random projects, not least of which the big life project of running a small business. Happens to the best of developers.

Kinda feeling the urge to get back into looking at WindowCast issues sooner rather than later though.

I still think the biggest bug for me regarding WindowCast is the fact that it’s not properly integrated into the RA core ecosystem. It’s not something that can be downloaded from the Core Downloader, and I’d really like it to be. I always feel a bit daunted by the prospect of tackling that one though. Simply put, I don’t feel I know enough about the LR/RA build ecosystem to know where to scratch the right places to get this ‘bug #1’ fixed. If someone could tell me who the right person to talk to about that one is, that would be massively helpful.

There’s other bugs / missing features I know of; related to window capture success, recapture success, window selection logic, latency issues, and more. I do have a few experimental branches related to some of those, but these have issues of their own. Rough edges on the whole thing, I know.

I’ll take a skim of this thread right now, and see if there’s anything that springs to mind that’s relatively easy to address.

6 Likes

getting it on the buildbot and online updater isn’t too big of a deal. If it’s ready for primetime, we can get that ball rolling.

2 Likes

The captured game/app and RA+WindowCast always run independently, at their own framerate.

The core doesn’t report a fixed FPS to RA, nor does it attempt to do any of timing locks itself. That means if you have the VSync option off in RA, it’ll present frames as fast as it can (my system gets around 500fps), and if VSync is on in RA, it’ll run and present at your monitor’s current refresh rate, whatever that is.

4 Likes

Hooking issues may be related to an issue with the code that’s designed to check for ‘dead captures’ i.e. when the window that’s supposed to be captured has been closed / minimized / cannot be captured now for whatever reason.

This code is sometimes over-aggressive and stops windows being captured in the first place. I need to investigate it further. For now, the updated build just now uploaded to GDrive greatly increases the ‘window recheck interval’, this will make initial hooking success more likely, but means that the core will be slower to respond and attempt to capture another window when the existing captured window is closed.

4 Likes

oh shit, that’s great. I’m gonna have to play around with that :open_mouth:

4 Likes

I’d like to be able to report some good results with today’s new version, but I’m getting the same thing any time I launch from a command line (frontend) in that WindowCast freezes on the taskbar and eventually crashes. It does make the yellow window around the target window like it has recognized it, but after that nothing happens.

1 Like

Weeeird. That’s a new one on me. It’s the same build I’m using locally which I’m having no issues with. Might need to look into that one later on.

3 Likes

Well, it’s the same issue I was talking about earlier in the thread, with previous builds… it just didn’t go away with the new build. It could be something on my end, but I don’t know what it is… I spent a good bit of time trying different things that people recommended, or that I thought might fix it, but haven’t found the trick yet.

2 Likes

do you use vulkan or opengl ? cuz it freezes since the last update (not this now) for me the same way as you wrote but only if i run it with glcore ,vulkan works just fine

3 Likes

Vulkan whenever it is possible to use Vulkan… so most of the time.

2 Likes

so retroarch starts with vulkan as videodriver …hmmm sorry i thought this could help cuz it acts like you descriped with glcore on my end…you could try to disable the option that cores are allowed to change the video driver …some cores fail to load for me if this is enabled … good luck to figure this out

2 Likes

Thanks for the advice… I’m sure it will all work out in some future update. I watch it to see what happens.

2 Likes

Can anyone help me out with getting this to work? First off, I’m not sure I even understand the format of the txt file correctly, are the lines following the hashtag just like comments in programming, and the actual information used by RetroArch are the lines without the hashtags? And that info should be the title of the window, not the name of the process? I did it this way, ran the game first but after opening the text file in RA, it just crashes.

1 Like

It sounds like you did it right, but are having the same problem I talk about, above.

1 Like