Skip to content

Attempt to compile shaders asynchronously#2775

Open
gonetz wants to merge 1 commit intomasterfrom
async_shaders_compile
Open

Attempt to compile shaders asynchronously#2775
gonetz wants to merge 1 commit intomasterfrom
async_shaders_compile

Conversation

@gonetz
Copy link
Owner

@gonetz gonetz commented Apr 22, 2023

No description provided.

@gonetz gonetz changed the title Attempt to compile shaders asynchronously, #2701 Attempt to compile shaders asynchronously Apr 22, 2023
@Squall-Leonhart
Copy link
Contributor

First reaction is, "Why?"

@blackhand1001
Copy link

First reaction is, "Why?"

Games like Banjo Tooie are stutter fests because they have thousands of shaders.

@roioros
Copy link

roioros commented Jan 11, 2025

I'm interested in this branch, how could I try it?

@Jj0YzL5nvJ
Copy link
Contributor

Jj0YzL5nvJ commented Jan 12, 2025

You can try my fork: https://github.com/Jj0YzL5nvJ/GLideN64/actions/runs/12737353428

Keep in mind:

Good luck

@roioros
Copy link

roioros commented Jan 13, 2025

Oh, I didn't remember that threaded video only works on Linux, I use Windows 10.

Thanks, I already have it downloaded anyway, do you know if it's possible to get threaded video working on Windows?

Or, is it possible to make shaders work asynchronously without the need to use the threaded video option?

Thank you!

@gonetz
Copy link
Owner Author

gonetz commented Jan 25, 2025

  • As far as I know, the current implementation of "threaded video" only works correctly with mupen64plus on Linux, it does not work on Windows

I can't say for sure if it works on Windows or not. The code itself has nothing Linux-specific. Some older versions of PJ64 can crash when this option is enabled. Newer versions do not crash. Mupen64plus based emus work too. I don't see any difference in performance though.

@roioros
Copy link

roioros commented Jan 25, 2025

From what I've been testing, in Project64 activating "threaded video" does not crash but I don't notice any difference when it is activated or deactivated, so I don't know if that option works well.

I still have stuttering problems, as I mentioned before, one of the most notable is the case of "Beetle Adventure Racing", you don't need to enter to play, just by watching the intro you can see the stuttering.

Once the intro is over (and the shaders are cached), if I restart the game the stuttering disappears completely.

@Jj0YzL5nvJ
Copy link
Contributor

I can't say for sure if it works on Windows or not. The code itself has nothing Linux-specific. Some older versions of PJ64 can crash when this option is enabled. Newer versions do not crash. Mupen64plus based emus work too. I don't see any difference in performance though.

mupen64plus/mupen64plus-core#769

I have only tested it with ui-console, I don't know if it works with other frontends... or PJ64.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants