![]() | ||
Views: 24,217,163 | Homepage | Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search | 02-10-25 12:01 AM |
Guest: |
0 users reading MelonDS is a little bit TOO accurate---slows down in places a real DS would when framerate is capped | 1 bot |
Main - General - MelonDS is a little bit TOO accurate---slows down in places a real DS would when framerate is capped | Hide post layouts | New reply |
falconfetus8 |
| ||
Newcomer Inactive Level: 3 Posts: 1/2 EXP: 102 Next: 26 Since: 07-11-21 Last post: 1309 days ago Last view: 1308 days ago |
I'm playing Pokemon Renegade Platinum with the 60 FPS patch. For those who are unaware, the 60 FPS patch raises the game's built-in framerate cap from 30 to 60, doubling the gameplay speed without speeding up the music and sound. It's pretty great.
The reason the game was capped at 30 in the first place is because it can't maintain 60 FPS in _all_ places on a real DS. So, naturally, it will slow down in some places if you were to use this patch on a real DS. But, of course, I'm not playing on a real DS---I'm playing on an emulator, on a REALLY beefy computer. I should, in theory, be able to play the game all the way through and not experience a single frame drop. And yet, with MelonDS's framerate limit enabled, my computer behaves exactly the same as a real DS---the framerate drops down to 30 FPS in all the same locations a real DS would, and speeds up to 60 everywhere else. To prove that my PC is powerful enough to not slow down in those areas: if I disable MelonDS's framerate limit, I get around 165 FPS, even in areas that a real DS would slow down in. The only explanation I can think of is that MelonDS is intentionally limiting the rate at which it executes instructions to match that of a real DS. I don't want that. I want it to run as fast as it can, up to whatever limit is built into the game. I _could_ just play with MelonDS's framerate limit disabled, but: * That's too fast * It also speeds up the music and sound Is there some way to get the best of both worlds? |
Arisotura |
| ||
![]() Big fire melon magical melon girl Level: 59 ![]() Posts: 736/968 EXP: 1615099 Next: 58029 Since: 03-28-17 From: France Last post: 9 days ago Last view: 1 day ago |
this sounds like the problem is not with how fast your computer can run melonDS, but rather the fact that melonDS tries to mimic the DS's timings and performance characteristics (which is an important aspect of emulation).
anyway: an overclock setting could be done (we already have a system for changing the ARM9 clock, for DSi support) and may help in your case. while 'running the game as fast as possible' would be difficult due to also having to emulate the DS hardware, it would be quite possible to run the ARM9 at 133MHz (or any multiple of 33MHz, tbh). ____________________ Kuribo64 |
falconfetus8 |
| ||
Newcomer Inactive Level: 3 Posts: 2/2 EXP: 102 Next: 26 Since: 07-11-21 Last post: 1309 days ago Last view: 1308 days ago |
That sounds awesome! Is that something you could consider adding to a future release? |
Arisotura |
| ||
![]() Big fire melon magical melon girl Level: 59 ![]() Posts: 737/968 EXP: 1615099 Next: 58029 Since: 03-28-17 From: France Last post: 9 days ago Last view: 1 day ago |
I have nothing against it, it'd just be a matter of adding it in the UI (and deciding how the user setting should interact with the DSi's selectable clock) ____________________ Kuribo64 |
Sorer |
| ||
Member Normal user Level: 23 Posts: 109/116 EXP: 63798 Next: 3925 Since: 12-21-17 Last post: 1118 days ago Last view: 1030 days ago |
You could use Twilightmenu for now which got an overclock/selectable clocks option if you got a DSi or 3DS though. |
poudink |
| ||
![]() Big melon Normal user Level: 28 ![]() Posts: 143/176 EXP: 125163 Next: 6175 Since: 03-30-17 From: Québec, Canada Last post: 857 days ago Last view: 642 days ago |
Might not be enough though. I tried using the SM64DS 60fps patch with it and it was still too slow despite the double clock speed. ____________________ Nothing to say, so jadnjkfmnjamnfjkldnajfnjkanfjdksan jsdnvj m. |
Arisotura |
| ||
![]() Big fire melon magical melon girl Level: 59 ![]() Posts: 738/968 EXP: 1615099 Next: 58029 Since: 03-28-17 From: France Last post: 9 days ago Last view: 1 day ago |
on the other hand, SM64DS is a crummy game that likes to jam the GXFIFO without any care, and prolly do other stupid shit
we could go real far and crank it to 266MHz or even more, though it would also have the side effect of requiring more host power (if the game really needs that much speed to run at fullspeed) ____________________ Kuribo64 |
Generic aka RSDuck |
| ||
![]() Big fire melon Administrator Level: 46 ![]() Posts: 372/627 EXP: 692826 Next: 18948 Since: 10-12-19 Last post: 8 days ago Last view: 2 days ago |
Posted by poudink it might also be other components which are too slow, like geometry transform and submission. We could add a desmume mode where GX commands would be processed instantly and there's an unlimited amount of geometry allowed. ____________________ Take me to your heart / never let me go! "clearly you need to mow more lawns and buy a better pc" - Hydr8gon |
poudink |
| ||
![]() Big melon Normal user Level: 28 ![]() Posts: 144/176 EXP: 125163 Next: 6175 Since: 03-30-17 From: Québec, Canada Last post: 857 days ago Last view: 642 days ago |
Posted by Arisotura Regarding this, it could be done as a percentage slider like it is in Dolphin and Citra (which both had the same issue because Dolphin has Gamecube and Wii mode and Citra has 3DS and New 3DS mode). That way, "100%" would be stock speed in both modes and 200% would be twice the normal speed in both modes. ____________________ Nothing to say, so jadnjkfmnjamnfjkldnajfnjkanfjdksan jsdnvj m. |
Arisotura |
| ||
![]() Big fire melon magical melon girl Level: 59 ![]() Posts: 739/968 EXP: 1615099 Next: 58029 Since: 03-28-17 From: France Last post: 9 days ago Last view: 1 day ago |
yeah, some sort of slider that snaps to specific marks, or something like the OpenGL resolution selection... thing is, technically, the provision we have for setting the ARM9 clock can only support multiples of 33MHz. anything else would tremendously complicate the timing system. ____________________ Kuribo64 |
poudink |
| ||
![]() Big melon Normal user Level: 28 ![]() Posts: 145/176 EXP: 125163 Next: 6175 Since: 03-30-17 From: Québec, Canada Last post: 857 days ago Last view: 642 days ago |
Yeah, both Citra and Dolphin have snaps too so I think it'd be fine. Citra snaps to multiples of 5 and Dolphin gets coarser the higher the value gets (there are two positions for 6% and five positions for 7%, but no positions between 389% and 400%).
Though, I guess being limited to multiples of 33MHz makes the percentage idea not work anyway, since 25% in DSi mode is a multiple of 33MHz but 25% in DS mode isn't. ____________________ Nothing to say, so jadnjkfmnjamnfjkldnajfnjkanfjdksan jsdnvj m. |
Generic aka RSDuck |
| ||
![]() Big fire melon Administrator Level: 46 ![]() Posts: 373/627 EXP: 692826 Next: 18948 Since: 10-12-19 Last post: 8 days ago Last view: 2 days ago |
Posted by Arisotura nah the way those emulators do this is to accumulate the cycles run by the processor, then multiply them by the overclocking/underclocking factor and then add it to the global timestamp. ____________________ Take me to your heart / never let me go! "clearly you need to mow more lawns and buy a better pc" - Hydr8gon |
threenator |
| ||
Newcomer Normal user Level: 1 Posts: 1/2 EXP: 6 Next: 5 Since: 02-03-25 Last post: 5 days ago Last view: 1 day ago |
Posted by falconfetus8 I have exactly the same issue after uncapping Pokémon HeartGold's Framerate. I don't know how to select the DSi's clock, and I don't know if it would help, since the game apparently doesn't run on DSi mode. |
Jakly |
| ||
Member Normal user Level: 6 Posts: 10/10 EXP: 569 Next: 338 Since: 03-22-24 Last post: 5 days ago Last view: 5 days ago |
i would personally recommend using the latest release candidate (or preferably nightly build) which allows you to configure a custom frame target.
Messing with over/underclocking the emulated hardware tends to break things in unpredictable ways. (see: the many timing issues on the github) |
threenator |
| ||
Newcomer Normal user Level: 1 Posts: 2/2 EXP: 6 Next: 5 Since: 02-03-25 Last post: 5 days ago Last view: 1 day ago |
Posted by Jakly How can I configure a custom frame target? Also, last nightly build's audio is abysmal. Every song is in the wrong pitch, not to mention the low volume and stutterings. |
Main - General - MelonDS is a little bit TOO accurate---slows down in places a real DS would when framerate is capped | Hide post layouts | New reply |
Page rendered in 0.060 seconds. (2048KB of memory used) MySQL - queries: 30, rows: 108/108, time: 0.033 seconds. ![]() © 2005-2008 Acmlm, Xkeeper, blackhole89 et al. |