@impeeza i haven't updated to the latest firmware yet, because I'm waiting for the (Master)version of Atmosphere(i'm still on 1.8.0)and JKSV is slow to load in full ram mode.
Atmosphère was already upgrades, but you are doing right on to no upgrade your firmware, you should wait until will be necessary. so many homebrew needs update.
Ok. Here's the deal. I'm gonna try to look into things at some point this week. I was working on the remote storage code for the rewrite a little while ago. I actually have a somewhat functional PC command line version of it on my github if anyone is interested, BTW.
Navigating the master branch can be tricky and a headache though. I hope the fix isn't too complicated. JKSV loads and allocates most of what it needs on boot, but that's also the most complicated stuff to tackle...
I had such long times of load when setting up a WebDav or Google Drive storage but no connections to them, but that always show the message WebDav not initialized before show the main screen.
I had such long times of load when setting up a WebDav or Google Drive storage but no connections to them, but that always show the message WebDav not initialized before show the main screen.
@impeeza i don't have this setting i'm always offline,the only thing i use online is FTP to transfer .txt files or screenshots to my smartphone to post here.
take care of yourself, go and enjoy the life, is short, very short.
Post automatically merged:
By the way must have to do with the new memory restrictions on Atmosphère imposed by FW 20:
Basic support was added for 20.0.0.
The console should boot and atmosphère should be fully functional. However, not all modules have been fully updated to reflect the latest changes.
There shouldn't be anything user visible resulting from this, but it will be addressed in a future atmosphère update.
The same action item from 18.0.0 remains, and I believe in my heart of hearts that it will be addressed eventually. Someone has told me they're working on it.
There aren't (to my knowledge) outstanding 19.0.0 items any more.
Please note: As a result of changes made to nintendo's software in 20.0.0, there is roughly 10MB less memory available for custom system modules.
We can only steal a maximum of 14MB from the applet pool, down from 40MB.
To compensate for this, ams.mitm's heap usage has been reduced by 20MB.
To facilitate this, a new helper module (memlet) was added, so that memory may be temporarily stolen during the romfs building process.
Hopefully, this results in relatively little breakage, however it is possible that user mods which replace extremely large numbers of files in The Legend of Zelda: Tears of the Kingdom may no longer function.
If you are affected by this, you will see "Data abort (0x101)" when trying to launch the game with mods.
Please reach out to sciresm on discord if this occurs to share your error report binary. However, some issues may be impossible to fix.
I apologize sincerely if the issue is impossible to resolve, but I have been forced unavoidably to make compromises here, and I think this is the best balance to be struck.
I think the code will be needed to modified to use the new helper module memlet to ask for more memory..
All of the above only applies to sysmodules and mods. It's nsGetApplicationControlData() thats slow now. Loading from cache used to take ~5ms, now it takes 50-60ms. Even worse, if its not in cache then it can take a whopping 520ms, which is half a second for a single title. Manually parsing the control nca (either by mounting via fs or parsing/decrypting the nca) has always been faster than ns, around 20ms. But even that is still way too slow to be an acceptable replacement. Fwiw, qlaunch is affected by this also. If you open the grid menu, you will notice that it takes significantly longer to load icons compared to fw 19.
Idk what to do with this, because it really sucks. The async ListApplicationTitle() is just a wrapper around GetApplicationControlData(), and i've benchamarked it and it's the same performance as the latter. We could cache the icons/titles ourselves, but then every app that lists titles will have their own cache of icons+nacp which is a lot of duplicated data...
I don't really know anything about system save files, but i guess we could manually parse the ns (or whether its cached) save for the cached data, and if not found, manually parse the nca - basically emulating what nsGetApplicationControlData() did. We could even make this into a sysmodule that mitm nsGetApplicationControlData() and does the above, so no one would have to change their code base...but thats a bit overkill heh.
It's nsGetApplicationControlData() thats slow now. Loading from cache used to take ~5ms, now it takes 50-60ms. Even worse, if its not in cache then it can take a whopping 520ms, which is half a second for a single title.
Going the 3DS route is also an option. Back when I first released 3DS JKSM, it was really slow to load (because 3DS). People complained so I implemented a cache file that made it go from God-knows-how-long to less than a second. The last time I built and tested the rewrite version of JKSM 3DS, the cache loaded before the screen even had time to update. I'm assuming I could pull the same thing off on Switch. Implementing it in the master branch is what worries me though. Another problem that arises is that unlike 3DS, nobody on Switch is used to needing to refresh the cache for new games. That opens a whole new can of worms and Git issues that aren't really issues.
I've done it before and there's nothing stopping me from doing it again. It'd probably be faster than loading on firmware before 20.
Going the 3DS route is also an option. Back when I first released 3DS JKSM, it was really slow to load (because 3DS). People complained so I implemented a cache file that made it go from God-knows-how-long to less than a second. The last time I built and tested the rewrite version of JKSM 3DS, the cache loaded before the screen even had time to update. I'm assuming I could pull the same thing off on Switch. Implementing it in the master branch is what worries me though. Another problem that arises is that unlike 3DS, nobody on Switch is used to needing to refresh the cache for new games. That opens a whole new can of worms and Git issues that aren't really issues.
I've done it before and there's nothing stopping me from doing it again. It'd probably be faster than loading on firmware before 20.
I do hope its a bug by N and they fix it It's literally 10x slower than before...It's *very* noticeable when scrolling through games in the grid menu, all you see is spinning icons.
I do hope its a bug by N and they fix it It's literally 10x slower than before...It's *very* noticeable when scrolling through games in the grid menu, all you see is spinning icons.
wow, I haven't heard about this but should happen only on a cold boot or Big N used the Cache to avoid the delay... I am not Upgrading to 20 until really needed.
wow, I haven't heard about this but should happen only on a cold boot or Big N used the Cache to avoid the delay... I am not Upgrading to 20 until really needed.
I do hope its a bug by N and they fix it It's literally 10x slower than before...It's *very* noticeable when scrolling through games in the grid menu, all you see is spinning icons.
I remember one of their stability updates to fix a *hax exploit causing FMV's in some games like OOT3D to not work right or something like that way back... I don't think they ever fixed that. I guess we'll see. As of now, I'm planning a cache system. I hate touching the master branch, but it'll probably need to be done.
Maybe it's on purpose to make the Switch 2 look way faster and more responsive in comparison? Sneak some random sleeps in the Switch firmware code everywhere and, bang, Switch 2 is way more responsive and better. Better upgrade ASAP! Hey, why don't you trade in that exploitable Switch since it's getting so slow lately? Coincidence? I bet not.
Maybe it's on purpose to make the Switch 2 look way faster and more responsive in comparison? Sneak some random sleeps in the Switch firmware code everywhere and, bang, Switch 2 is way more responsive and better. Better upgrade ASAP! Hey, why don't you trade in that exploitable Switch since it's getting so slow lately? Coincidence? I bet not.
Kinda like Apple did make iPhone slower for battery health below 80%-90% to push you to buy new iPhone to put more money in Apple's coffer, so Apple faced massive public backlash and stopped doing it, and offered discounted battery replacement.
If Switch 2 sold poorly, so Nintendo is like... "we need make Switch more slower" and make a update falsely label as enhance the stability and improve the security.
I remember one of their stability updates to fix a *hax exploit causing FMV's in some games like OOT3D to not work right or something like that way back... I don't think they ever fixed that. I guess we'll see. As of now, I'm planning a cache system. I hate touching the master branch, but it'll probably need to be done.
Maybe it's on purpose to make the Switch 2 look way faster and more responsive in comparison? Sneak some random sleeps in the Switch firmware code everywhere and, bang, Switch 2 is way more responsive and better. Better upgrade ASAP! Hey, why don't you trade in that exploitable Switch since it's getting so slow lately? Coincidence? I bet not.
I basically did that same thing 10 years ago on 3DS. Like I said, the newer revisions of the 3DS code are near instant when booting. The main difference on Switch is that the icons are JPEGs and not a fixed size like 3DS icons.
My newer style for loading on 3DS is to load the entire cache into ram and read it that way. It's way faster than section to section from the SD. It just needs to be implemented without breaking the master branch. Other option is to try to put the pedal to the metal on the rewrite... Actually, come to think of it, I have more ideas just talking about it. We'll see.
Fixing this new slow NS fetching thing is going to be a bit more involved than I thought. I'm still going over how to tackle it exactly. Normally all I save is the NACP from the control data. I now need to cache the icons too, which I don't save the JPEG data for. There was no reason to before. This creates a new problem: System titles don't have icons. I create them on the fly. I have no JPEG to save. That means encoding them to JPEGs to cache them... The other option is to grab the raw pixel data from the textures and save that instead. Each icon weighs in at 256KB then. That can add up quickly. Compressing that is an option, but that also impacts boot time...
I'm still working on it guys. That's all I'm saying. Never though I'd see the day where the Switch has me more stumped than the 3DS did...
It wasn't too long ago we saw our first glimpse of Courage Reborn, another Twilight Princess PC port in the works based on last year's decompilation efforts. With...
Seemingly out of nowhere a PC port for Pokemon Platinum has surfaced online, bundled alongside the source code for those interested in building and developing it for...
After much speculation, Nintendo has finally followed their competitors in announcing price increases for their hardware.
You can find a breakdown of what's changing...
With very little in the way of announcement, Valve has today increased the price of the Steam Deck but some fairly considerable margins. Both of the available models...
As a part of their Financial Results Briefing for the previous year, Nintendo president Shuntaro Furukawa took to the floor to answer key questions around the Switch...
Earlier this year, Sony announced major price increases for the PS5, PS5 Pro, and PlayStation Portal. Now the company is raising prices again, this time for...
We are once again here to tell you about a game leaking before its release, but for once, it's not one published by Nintendo. The game files for Microsoft's upcoming...
Continuing with the great news of Pokémon Platinum getting a native unofficial PC port just a few days ago, today, yet another classic title from the franchise has...
The latest in a growing number of native PC ports, Paper Mario ReCut got its first pre-release build earlier this week. Based on the N64 recompilation toolchain, the...
When you talk about 3DS emulation, most people would jump to Citra. As the defacto choice since its first release it's seen tremendous success, and even after its...
With very little in the way of announcement, Valve has today increased the price of the Steam Deck but some fairly considerable margins. Both of the available models...
It wasn't too long ago we saw our first glimpse of Courage Reborn, another Twilight Princess PC port in the works based on last year's decompilation efforts. With...
After much speculation, Nintendo has finally followed their competitors in announcing price increases for their hardware.
You can find a breakdown of what's changing...
Seemingly out of nowhere a PC port for Pokemon Platinum has surfaced online, bundled alongside the source code for those interested in building and developing it for...
Earlier this year, Sony announced major price increases for the PS5, PS5 Pro, and PlayStation Portal. Now the company is raising prices again, this time for...
As a part of their Financial Results Briefing for the previous year, Nintendo president Shuntaro Furukawa took to the floor to answer key questions around the Switch...
The latest in a growing number of native PC ports, Paper Mario ReCut got its first pre-release build earlier this week. Based on the N64 recompilation toolchain, the...
A whole hour of PlayStation content is on the way, thanks to the latest State of Play showcase. Headlining the stream will be Marvel's Wolverine, alongside a...
For the first time in 13 years, the Call of Duty series will again return to Nintendo's consoles. Set to launch on the 23rd of October, the latest release, Modern...
With the latest entry to the Star Fox series being announced earlier this month, Nintendo have today shown off one of the features new to the game in the mouse...