DP's slowness is probably several factors and not necessarily poor optimiziation?
The overworld being 30 FPS was probably either a concession made for their engine (the DS wasn't THAT powerful, they had just entered the 3D space for Pokemon, it was early days with the DS in general, etc) or some other purposeful design decision. The fact platinum had the same speed on the overworld except for Surfing specifically, just feels like a purposeful thing at least.
The saving thing I think is because they were overly cautious on save checks. IO definitely remember someone finding the code related to it in the decompiler and they go through this very intense check.
The slowness of the battles......well who knows, really.
e: Well honestly it might be better to say it is not necessarily just poor optimization
Nah, slowness for saves since Gen 3 is just poor optimizing if the RSE and FRLG save systems code are to be trusted. It's intensive for checks probably to prevent Gen 1/2 oddities, but then given it's GF.....
Technically with how the DS works for hardware, all functions are 30fps/hz despite most games having 60fps output for visuals (provided 3D is done only on 1 screen, due to fillrate limits). Then again Gen 4 shouldn't have 3D in the bottom screen at all, so....it being 30 even visually is odd
battle slowness is just stupidly stating.
every.
single.
prompt.
like.
gen.
3
Till now because for whatever reason, RPG stat symbols can never be used. And then added slowness due to never fixing HP drain's oversight that has been since Gen 2. Not sure how they went worse for early gen 4, though it's still slow even for RSE/PLat
OW movement speed being slow is just choice. Though I notice that the running anim and bike anim frames are stupidly slow, probably to hide how the mid frame is stupid with how the arms are spread out. They fixed that for the bike anim in Plat though