Playing resource-hungry ROMs from fast USB drive - any benefit?
-
This is about resource-hungry games, especially Star Wars - Shadows of the Empire for N64.
I have a Raspberry 3 B and SanDisk Extreme 64 GB USB 3.0 stick here. The latter can provide around 200 MB/Sek read speed.Now one might assume that in any case, running ROMs from a drive other than the OS (Retropie) should make them read faster, given the external USB drive is at least as fast as the SD card running Retropie.
Has anyone tried to run the above or any other resource-hungry game from a fast external USB drive, and noticed a considerable hit in gaming peformance?
-
@TimZett The USB ports are only USB version 2, so there is no benefit of USB 3 speed drives. Last year when I hit RetroPie first time, one of my first things I tried was CD games (psx) from a hard drive (also USB 3). My experience was stutter, although I am not 100% what the problem was, but on the micro sd card it was much better. This can have something to do with other peripherals interfering with USB host or it can be the cable (yes there are differences).
-
@TimZett N64 games should be getting moved to the RAM from my understanding of how it all works and that works faster than either the SD card or USB 2.0 port.
Only situation where faster storage transfer speeds might help is when the data is streamed such as for TurboGrafx-CD, Sega CD, PSX, Dreamcast, PSP, and MAME.
The only time I might have seen any difference between my SD and USB drive in emulation was with some of the resource-hungry CHD games in MAME, and that was some casual testing that I only estimated a 1 or 2 frame possible improvement streaming the CHDs from USB, though the framerate also seemed a little more stable. I haven't felt like looking into the MAME CHD games further to obtain accurate results though as the majority are far too resource-hungry to run full speed on my overclocked Raspberry Pi 3B.
-
@thelostsoul Thanks for reminding me, I somehow forgot about the fact that we are dealing with USB 2.0 here.
Well in that case I will probably do the auto mount thing a bit later, even though the benchmark:
http://www.roylongbottom.org.uk/Raspberry Pi Benchmarks.htm#anchor21
regarding USB read speed on a Raspberry 3 looks quite promising. According to that, read speed from the USB may be twice as much faster than from the internal SD card (while writing is quite miserable, but that won't matter)@MajorDangerNine OK, that might make my assumption from above (the benchmark) already obsolete, since you got the practical experience.
So in the end, moving files via auto mount might mostly provide a better redundancy for the case that the SD card with Retropie on it fails.
-
Well now I am still curious:
Suppose one does the automatic mount procedure:
https://github.com/RetroPie/RetroPie-Setup/wiki/Running-ROMs-from-a-USB-drive
Will the ROMs still remain on the SD card where the Retropie OS runs, so that the ROMs are actually and only always "mirrored" (or synced) with the USB drive/stick?
Or is this folder really being moved so that it finally disappears from the SD card?
I ask that because in the article above only "copied" is mentioned but not "moved".It would be pointless to keep the ROMs folder on both sides, right? Especially because it can become really huge.
-
@TimZett It depends on the context.
- If you use a usb thumb drive for automatic copy roms into right folder, then the files are copied to folders in micro sd card and you just remove the usb drive. This is a different thing than mounting a usb drive as a part of your RetroPie.
- If you want use an usb drive as the source of your roms folder, then you mount it into RetroPie structure and it gets part of your system. Then you move all roms (or other files) to that folder, which represents the usb drive.
There might be a different way to do the mount. I am not sure how this works in automatic way, as I do this manually.
-
@TimZett It's only the initial USB population with ROMs will copy them, any subsequent additions of ROMs will be on USB only.
If you have a lot of ROMs, then you can safely delete the ROMs folder from the SD card (make sure you take out the USB first !), but if you just do it at the beginning of your setup, your ROM folder will probably be empty anyway. -
@mitu said in Playing resource-hungry ROMs from fast USB drive - any benefit?:
@TimZett It's only the initial USB population with ROMs will copy them, any subsequent additions of ROMs will be on USB only.
If you have a lot of ROMs, then you can safely delete the ROMs folder from the SD card (make sure you take out the USB first !), but if you just do it at the beginning of your setup, your ROM folder will probably be empty anyway.In my case, the roms folder on the SD card already has several GB.
So if I understood you correctly, the following procedure would be safe:- After the automatic mounting procedure has finished, shut down the Pi
- Take out the USB drive and boot up Retropie
- Navigate to the local roms folder and delete all subfolders - or only the ROM files beneath them?
- Shut down again, plug in the USB drive and boot up - horay.
Is that right what I wrote?
EDIT: It seems that this procedure would not be just limited to an USB Stick formatted with FAT32.
I just plugged one in with exFAT and Retropie can access it (checked via FTP).
This will further increase read speed, given the USB 2.0 in the Pi can make use out of it:
https://www.flexense.com/fat32_exfat_ntfs_usb3_performance_comparison.html -
@TimZett Looks ok. Leave the folders just in case, maybe you want to take the USB out for something else (someone else's RetroPie), so delete just the ROMs.
-
@mitu Just did it.
Everything went smooth as we discussed it above.
From the SD's roms folder I only deleted the actual ROMs not the folders.So far I didn't notice any performance hit nor any decrease. All the same as it seems. I'll let you know in case that impression should change.
One more thing about backup: Since the configs share is not being transferred to the USB stick (unfortunately) I want to stress the importance to (at least) backup this one manually and frequently ;-)
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.