Home Creators Posts Import Register Favorites Logout

Content

Hi Patreons,

first of all we want to thank you for your support! As you can imagine, we are working hard on the next update and it should be ready soon for anyone who pledged 5$ or more and a week later for everyone else.


For February we want to improve the following areas of the emulator:


Graphics backend

This is probably not a suprise considering we have improved the graphics code in every single Cemu update since v1.0.0. As we get closer to fully accurate graphics emulation (although we are still quite far away) the visual changes between each release will be smaller. There is also lot's of graphics code that has no visual effect at all but needs to be emulated correctly in order for some games to work properly. A good example for this are Splatoon's ink mechanics which rely on advanced GPU features that don't actually draw something visible to the screen but rather generate information for further processing by the CPU.


Software keyboard emulation (SWKBD)

The software keyboard is used in quite a number of games and is currently not emulated at all in CEMU. This leads to issues whenever a game attempts to use the software keyboard. A rather well known example for such an issue is the crash that happens when attempting to save a new level in Super Mario Maker.

While it may sound easy there are actually lot's of issues when it comes to emulating the Software Keyboard properly. For now our plan is to implement an english-only version of the keyboard just to get around the crashes and to have something to enter text. And yes, you will be able to input text via your computer keyboard.


Performance optimizations

In regards to optimization CEMU has a long way to go. Currently, the number one bottleneck for most games is the emulation of the GPU command processor which happens on a separate CPU core. The job of this command processor core is to read GPU commands from memory, parse and execute them and then either set some internal state or draw something to the screen (via OpenGL). Starting with Cemu 1.3.2 we have offloaded up to 90% of this core's work directly to the GPU. Although this means that this specific core is no longer a reason for slowdowns, other parts of the emulator remain that need heavy optimization in order to achieve fullspeed emulation.


Multi-core CPU emulation

We are also looking into splitting up the cpu emulation core into three separate cores. This is possible because the PowerPC processor inside the Wii U, called Espresso, has three cores that act independently of each other (at least from the perspective of software). In theory this means that any game that utilizes multi-tasking can then process two or three different things at the same time, leading to a potential speed up of 2x or 3x. In practice however, most games actually don't make use of the extra cores and almost all work is done on the main core. While some games will benefit from this we think that it will slow down others because of the additional coordination overhead that happens between the cores. For this reason we will continue to support single-core mode even if we add a multi-core mode.


Audio improvements

Wii U's audio code is incredible complex which is probably the result of Nintendo's effort of working on the same audio library since the GameCube. Currently we emulate about 10% of all audio functionality. Luckily most games only utilize a very small subset of all available audio features. This is also the reason why some games sound ok even though we only emulate such a small fraction of the sound hardware. By the end of February we hope to have implemented more sound effects and filters to get us closer to full audio emulation. 



That's it for this post! Let us know if this style of information post is ok or if there is something else you would like to see us write about.

PS: I tried to embed some images to make this more readable but Patreon kept messing up the text layout, so maybe next time :)


Btw. this text is for Patreons only, so please do not repost it somewhere else!

Comments

Anonymous

cant wait for the next version you guys are awesome

Anonymous

Thanks for the hard work. You guys are truly fast and are geniuses. I'm very impressed.

Anonymous

Wow, thank you for this really detailled description. Really appreciated. Thank you for your hard work. Kind regards

Anonymous

Enjoyed reading the first post. That's a lot of work you plan to do in february. Pictures would be nice i guess (but not that important). I think some of us would like to read some technical stuff. In other words, if you have some nerdy information i would appreciate this because it's really fascinating to read about console emulation. Thanks for your hard work!

cemu

More nerdy information is coming :) For example we plan to write in-depth articles about the technical challenges of emulating Wii U's GPU somewhere down the road.

Anonymous

I think it would be cool to get a 3rd reward tier for $10 a month for release dates for the next updates throughout the month and can constantly change depending on the funds given through Patreon maybe. I'd donate instantly if I had enough but right now I don't. Hopefully I can increase my funding to 10-20 dollars a month soon. I am really hyped for this! :D

Anonymous

It would be better if you give exclusive access to the last version of the emu to the Patreon users and to the regular users a previous version, that way you could improve the donation, also you can make some kind of protection for not leaking the emu :)