For 1.7.6 we will be looking into the following:
• Separable shaders (details below)
• Graphic fixes • Performance improvements
• Fixing remaining rare FPU emulation related gameplay bugs (e.g. Splatoon)
• And as usual, other various bugs and minor problems
If time permits we will also look into audio and compatibility improvements.
Separable shaders This part will be quite technical and if you just want to read a summary of what to expect from this change, you can scroll to the end. Let's start with a bit of background knowledge. Here is an image of a modern render pipeline: Image (Taken from the Khronos OpenGL wiki) The image depicts the steps on the GPU to go from some input geometry data to a pixel on the screen. For the purposes of this post we don't have to worry about all the steps and we can boil it down to only these shader stages:
• Vertex shader
• Geometry shader (Optional)
• Pixel shader (Optional) Also called fragment shader
The above applies to OpenGL, DirectX, Vulkan or any other rendering API on PC. For Wii U it's not exactly identical, but similar enough that we don't need to dive into details.
The problem For historical reasons Cemu always looked at the entire shader pipeline as a whole and shaders were generated in sets. That means that for each possible configuration of shader types, Cemu would generate a new shader set upon first use. This set would contain a copy of the vertex shader, the geometry and pixel shader. If individual shaders were reused but other stages differed, Cemu would create a new set regardless.
It's easier to explain this with an example: Assume we have 2 vertex shaders (vsA, vsB), 3 pixel shaders (psA, psB, psC) and no geometry shaders.
The game does the following draw operations:
Draw 1: vsA + psA Draw 2: vsA + psB
Draw 3: vsA + psC Draw 4: vsB + psA
Draw 5: vsB + psB
Draw 6: vsB + psC
Question: How many shader sets do we need to create?
The correct answer is 6. Each of the draw operations uses a unique configuration of shader types.
This is where we start to see the inefficiency emerge: There are only 5 shaders (2 vertex + 3 pixel), but Cemu generates 6 sets. With only a small numbers of shaders this isn't that big of a deal, but since most games actually ship with hundreds of shaders the number of possible permutations is huge. Even worse, each shader set contains a copy of both the vertex and the pixel shader. So in total we are generating 12 shaders from only 5 shaders as input.
The obvious but difficult solution
Naturally, we should try to avoid creating shaders whenever possible. In theory the solution is easy: Scrap the concept of shader sets and handle shaders individually. Modern OpenGL allows us to do that, so why not make use of it. However, this is easier said than done. There are a few problems that need to be solved: Not all shaders translate well and sometimes the pixel shader affects the vertex shader and vice versa. In such a case we are forced to create and use those shaders in a set because they cannot exist independently. Another problem is that the current render state can affect the generated shaders. For example, if alpha transparency is enabled it modifies the pixel shader that Cemu generates. Meaning we are forced to generate one pixel shader without alpha transparency and one with it. But ultimately we try to strive for perfection. Thus, for 1.7.6 we decided to scrap the shader set system in it's entirety and replace it with a solution that can handle individual shaders. The idea is that the new solution is as adaptive as possible. Ideally, it should be able handle shaders individually but also be able to deal with cross-shader dependencies.
The only downside:
The massive change in how we handle shaders in Cemu will break compatibility with already existing shader caches and graphic packs (if they use custom shaders). Separable shaders (summary) Cemu 1.7.6 will handle vertex, pixel and geometry shaders individually instead of pairing them up into sets. This allows individual shader types to be reused.
The pros:
• Faster shader compilation overall
• Less RAM usage by shaders
• Better performance
It's too early to give exact numbers yet.
The cons:
• Breaks compatibility with shader caches from 1.7.5 or below
• Breaks compatibility with graphic packs if they use custom shaders
Both games held up fine, ran full speed. Even got better performance from SRC because I was now using an ATI card, no more red garbled ground textures.
As before, used an Xbox 360 controller, and everything plays fine. Here are some screens from this machine:
Spoiler:
Sounds like there will be a release tomorrow (of the emu/loader, hopefully you can find your games).
One of the latest changes to Dolphin implemented a long standing pull request for the removal of the D3D12 API, seems they'll stick with Vulkan only when it comes to low-level API implementations though the existing D3D11 and OpenGL API's will still remain.
Btw, for BOTW, if you want to play with the update 1.2.0 you can...
The only thing missing / not working I think is the language changes or whatever it is but as for the rest concerning the game itself..all updates are there.
All you have to do is copy/paste the 3 folders of update v80 into your cemu folder where BOTW updates are :
(instalation folder)\mlc01\usr\title\00050000\101C9400 (US version, use proper folder number for other regions) then paste into to replace all.
The only thing you need to do after this is take the file U-King.rpx from update 1.2.1 from the folder "code" & put it back into your installation folder "code" where you applied the update v80 thus overwriting the newest one from 1.2.0.
The game starts fine & the saves work also. Getting better frames too in towns.
Enjoy!
Taken from the internetzzz kudos to I don't remember is name
Lian-Li XL Dynamic ROG Black - EVGA 1000w - Lian-li Galahad 360 AIO - MSI X570 Meg Ace - Rysen 5950x - G.Skill 4x16GB CL14 3600@3800(14-15-15-34) - Samsung 960 Pro 512 - Samsung 960 Pro 1TB - Kingston HyperX SSD 120gb SATA 3 (6gb/s) - WD Black Caviar 2x 2TB SATA 3 (6gb/s) Raid 0 - WD Black Caviar 2 TB SATA 3 (6gb/s) - EVGA 3090 FTW3 - LG C1 48" 4k120hrz
Last edited by CaptnNemo on Fri, 19th May 2017 14:52; edited 1 time in total
Got Zelda running pretty damn good. It needs more than the 16GB of memory that I got to load the whole 9K texture pack so it stutters once in a while but for the most part it's mostly full speed. Running CEMU off of a 1GB Ramdisk doubles the loading speed which is pretty great.
Only problem is the artifacts I seem to get around water.
Got Zelda running pretty damn good. It needs more than the 16GB of memory that I got to load the whole 9K texture pack so it stutters once in a while but for the most part it's mostly full speed. Running CEMU off of a 1GB Ramdisk doubles the loading speed which is pretty great.
Yeah got it running pretty good also, only dips in the 20's in town or depending on the weather. Other then that solid 30 with the cemuhook.
Got the 9k shaders too. Not bothered by ram
Very addictive game!! The exploration factor is just overwhelming loll!! but I like!!
Lian-Li XL Dynamic ROG Black - EVGA 1000w - Lian-li Galahad 360 AIO - MSI X570 Meg Ace - Rysen 5950x - G.Skill 4x16GB CL14 3600@3800(14-15-15-34) - Samsung 960 Pro 512 - Samsung 960 Pro 1TB - Kingston HyperX SSD 120gb SATA 3 (6gb/s) - WD Black Caviar 2x 2TB SATA 3 (6gb/s) Raid 0 - WD Black Caviar 2 TB SATA 3 (6gb/s) - EVGA 3090 FTW3 - LG C1 48" 4k120hrz
Have you tried running it off a 1GB ramdisk? The loading is great and offers a performance boost as well. You've got more than enough memory to to do it
Do you have those...graphical glitches that show up in my video 2 minutes in?
Wait, how does 8gb ram vs 16gb affect BOTW in CEMU? I have 3570k @ 4.2ghz and a 1070, and i got 15 fps.
Is ram usage an FPS factor?
More ram decreases stutters and can increase FPS by a little bit
shader memory usage is abnormally high on nvidia cards due to a driver bug that hasn't yet been fixed, it really never has this much of an impact outside of Cemu, and even there only really in Botw
ram speed on the other hand can make a good bit of difference in botw
You can also delete the shader pack and have the game (Or well, CEMU.) re-create it as you play though the trade-off with the current CEMU version is that you'll get small stutters here and there as said shaders are being generated again whereas with a existing shader cache you'll get one (very) long load time for the initial cache and then the game is smoother though it will use a lot of RAM for storage. (Having 16 GB system RAM is definitively recommended if you're using the 9k almost-complete shader pack.)
Depends what you define as fully playable. Last time I tried it (a month or two I think) it was pretty playable on my rig. A few Graphic glitches, frame rate quite steady. There were dips but not that many. You can finish it, there are some bugs
I have fast memory and 16GB of it, it helps apparently. Got the CPU running at 4.8 so you have that as a reference.
If you have other games you want to play, do those first and you'll see more improvements, if you can't wait... go for it.
I wouldn't know, haven't tried with a setup like that. Just give it a go, you'll learn fairly fast if its enough. Just have a shader cache installed and check out the first 15/20 minutes.
Would it be reliable to play with an I5 2500 14GB DDR3 and a 960 4GB?
You will not reach fullspeed in BotW on that old CPU even with a heavy overclock , but you can look into the cheat engine stuff to at least reach a playable level if you can stomach playing like that it's all in the Megathread here: https://www.reddit.com/r/cemu/comments/674bbt/botw_megathread_v3_175/ be sure to grab a shader cache here:
https://www.reddit.com/r/CEMUcaches/ to avoid shader generation stuttering (note that because of a bug in the nvidia drivers shaders take insane amounts of ram so 16gb is advised for BotW on a Nvidia card)
I wouldn't know, haven't tried with a setup like that. Just give it a go, you'll learn fairly fast if its enough. Just have a shader cache installed and check out the first 15/20 minutes.
tet666 wrote:
jackbomb wrote:
Would it be reliable to play with an I5 2500 14GB DDR3 and a 960 4GB?
You will not reach fullspeed in BotW on that old CPU even with a heavy overclock , but you can look into the cheat engine stuff to at least reach a playable level if you can stomach playing like that it's all in the Megathread here: https://www.reddit.com/r/cemu/comments/674bbt/botw_megathread_v3_175/ be sure to grab a shader cache here:
https://www.reddit.com/r/CEMUcaches/ to avoid shader generation stuttering (note that because of a bug in the nvidia drivers shaders take insane amounts of ram so 16gb is advised for BotW on a Nvidia card)
your 960 should be enough, cemu doesn't seem to use all that much gpu. Also look into the different quality packs, some might work better than others, I'll link those when I get home unless someone here beats me to it
Signature/Avatar nuking: none (can be changed in your profile)
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum