TOUKO wrote:It seems that the only possible bottleneck is system RAM
Of course it is,and as you can see, even with 24Mb of RAM(main+VRAM) the loadings are frequent(we can conclude there is a lot of VRAM transferts),so if you can have the benefit of a cartridge speed, you are inevitably limited by the amount of VRAM and the DMA bandwidth
No, that doesn't follow. Consider logically:
The problem isn't DMA. A Metal Slug screen uses memory roughly on the order of the amount of VRAM the SNES has, generally less. The main RAM bus on the PlayStation is 133 MB/s, and VRAM is twice that. So it doesn't matter if you can't fit all the animations in VRAM because you can easily swap them out from main RAM in virtually no time at all. Completely replacing all the graphics necessary to draw a frame 60 times a second would barely make a dent in your overall compute time, and the actual DMA load would be even less because you don't need to do that.
The problem isn't VRAM. Triple-buffering the framebuffer in 32-bit colour would still leave way more than enough space for the data necessary to display a Metal Slug screen, and there's no reason to go to either of those extremes; I'd guess almost 3/4 of VRAM is probably available for data. And from the previous paragraph we see that loading lots of data into VRAM is not necessary for animation purposes because DMA is so fast - all you actually need is the data for one frame.
The problem is, quite simply, the CD interface, with its anemic data rate and monstrous seek time. That's why loading is slow. And the reason why this matters is that if you want fast random access, you have to load the relevant data into RAM, and there isn't enough total RAM to hold all the stuff that needs fast random loading during a level. This is why the Saturn version works fine - even though its CD interface is also slow, it has an extra half megabyte of VRAM and an extra megabyte of work RAM (due to the use of an expansion cartridge) to load the animations into before the level starts, so it can access them quickly.
If the SNES had to use a CD interface to load its 128 KB of work RAM with animations and background tiles to transfer to VRAM, Metal Slug would be hilariously out of reach. But it doesn't. The entire contents of the cartridge are effectively already in RAM, which means the potential bottlenecks for a SNES port are factors that have nothing to do with why the PSX version is bad.
add to this the 16KB limit for sprites and you can see how that's hard to do it on snes ,and frankly MD too .
You can actually work around the 16 KB sprite limit under certain circumstances if you're (very) careful, but honestly 16 KB is already more than half a screen worth of unique sprites. It's not obvious to me that level 1, at least, would run into this limit, particularly for objects that can show up anywhere on screen at any time (the Achilles' heel of the OBSEL trick). And in any case it's got nothing to do with animation smoothness, which is limited by DMA bandwidth on SNES and MD if you have adequate storage.
At 30 fps, an NTSC SNES could replace 16 KB of sprite data in two frames while leaving plenty of bandwidth for scrolling BG tile replacement. The animations in the Neo Geo version are fluid, but they're not 30 fps. The problem is non-scrolling BG tile replacement - lots of water in level 1, and at least some of it is 60 fps. Maybe it's possible to use tilemap animation, if there's enough spare VRAM... I don't think it's something that can be definitively answered without at least trying to make it work. (Besides, the water looks weird at 60 fps; it might almost be better if it had to be slowed down a bit.)
The Mega Drive doesn't have any of the weird sprite system limits the SNES has, so that's just a pure VRAM/DMA question. The MD's main problem is colour fidelity - even the SNES can't handle all the unique palettes without tricks, although it's probably possible to merge some palettes without being too obvious about it. But on MD they've had to suck it up and make obvious cuts even on a single BG layer with no action.
We have the GBA version as an example
64 Mbit cartridge, no hardware decompression. Probably storage-limited.
And i only consider data transfers, i do not count the number of sprites on screen,with all that implies in term of CPU usage.
Two things: First, a few well-programmed games and even some homebrew projects demonstrate that the SNES can actually handle quite a bit of action if programmed properly. (Note that Rendering Ranger is a SlowROM game - compare the shmup segments to Gradius III and realize that the CPU resources available to the devs were identical.)
Second, Metal Slug is 30 fps, so it's reasonable to expect twice as much onscreen action as the system could handle at 60 fps. And Metal Slug seems to slow down a fair bit even on the Neo Geo, possibly due to suboptimal programming practices. I don't think it's at all obvious that the SNES couldn't do an acceptable job, and if the SNES can handle it the MD probably can too.
...
None of this handwaving has anything to do with the PSX version having choppy animation. I think it's reasonably evident that the bottleneck in that case doesn't apply to the SNES or MD. And since the anticipated bottlenecks on 16-bit consoles aren't even close to being a problem on the PSX, the PSX version tells us nothing about the feasibility of a 16-bit port.