dolphin/Source/Core/DolphinQt
MayImilae dcc10cff11 Remove Boot from DVD Backup
This should be a fairly easy merge, assuming I didn’t mess anything up. TL:DR no one uses it and it’s not great.

Boot from DVD Backup is an ancient feature with origins in the Megacommit. Back then, GameCube and Wii games were quite large relative to drives of the time. For example, in 2008, the most common hard drive sizes were 320GB and 512GB. On the 320GB drive I personally had at the time, as little as 42 Wii ISOs could have filled it entirely! And that’s ignoring any other files one might want to put onto a drive. Backup DVDs allowed users to burn relatively cheap DVD media and store their GameCube and Wii dumps in a Dolphin accessible way that didn’t eat into their precious HDD space. It had compromises, even then, but in 2008… I mean honestly users probably wouldn’t even notice those compromises with how Dolphin barely even worked at all back then.

Obviously, today the storage space concerns are not as big of an issue. According to seagate the average hard drive it sells today is 8TB. For typical laptops purchased now, the -minimum- selection for storage is usually 1TB. You can even buy a name brand 4TB external hard drive for $100. GC and Wii ISOs are not as big as they once were, relatively anyway. Plus flash drives and SD cards are super cheap and way faster than disc drives ever were. For anyone that has limited drive space, removable flash media can fulfill this offloading role far better than backup DVD media ever could.

Also no one has DVD drives anymore. That’s kind of an important detail.

But to see if Booting from DVD Backup even still worked, I decided to give it a try. I have an ASUS BW-16D1HT, a badass Bluray XL reading and burning drive, connected to my Windows 11 Threadripper 5975WX machine. A super fast drive on a super fast machine is as good as it possibly can get for this feature. So I bought a spindle of DVD-Rs, burned a couple of discs and gave it a try. Surprisingly, it does still work. However, as expected, it introduces a lot of stuttering. Testing Prime 1 and Prime 3, in both games stuttering was introduced whenever the DVD Drive had to suddenly seek. Spikes of 50ms occurred constantly, but I observed 150ms and even over 1000ms stutters! The worst was a three second stutter, when loading Elysia in Prime 3. I could even hear the stutters - any time the drive suddenly made a harsh seeking noise, the game would have a hard stutter. It worked but, it has some serious compromises.

Boot from DVD Backup isn’t great, using removable flash media or external hard drives is a FAR better option for anyone with limited storage space today, and no one can even use this feature anymore because their computers don’t even have disc drives. It’s time for Boot from DVD Backup to go!

So I did my best on the cleanup but I’m bound to have left some bits. Especially in translation - I didn’t get any warnings or anything there that could help point me to where to clean that up. Please review!
2023-01-16 18:32:43 -08:00
..
Config AdvancedWidget: Fix typo in performance sample window tooltip 2022-12-26 14:28:48 -08:00
Debugger Merge pull request #11365 from iwubcode/cheat_manager_freeze_value 2023-01-09 18:41:28 +01:00
FIFO OpcodeDecoding: Get vertex size from the loader 2022-09-19 01:14:53 +02:00
GameList Core: Add config setting for base GCI folder path. 2022-11-22 10:48:37 +01:00
NetPlay Remove most uses of StringFromFormat in favor of fmt 2022-10-12 16:50:47 -07:00
QtUtils Add support for building against Qt 6 2022-05-02 22:39:33 -07:00
Settings Implement PPC write-back data cache 2022-12-08 18:18:32 -05:00
TAS DolphinQt: Fix typo in GBA TAS input window 2023-01-12 14:33:58 -08:00
AboutDialog.cpp Fix static initialisation order fiasco issue for Version variables 2022-01-14 00:04:22 +01:00
AboutDialog.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
CMakeLists.txt CMakeLists: Copy LICENSE files when building for Steam Runtime 2023-01-10 23:21:24 -05:00
CheatSearchFactoryWidget.cpp HW/Memmap: Refactor Memory to class, move to Core::System. 2022-12-03 13:27:02 +01:00
CheatSearchFactoryWidget.h DolphinQt: Rewrite cheat search GUI. 2021-09-15 19:05:49 +02:00
CheatSearchWidget.cpp DolphinQt: add a 'add to watch' context menu item that allows you to add a memory location found in a cheat search to be added to the watch list 2022-12-23 12:31:33 -06:00
CheatSearchWidget.h DolphinQt: add a 'add to watch' context menu item that allows you to add a memory location found in a cheat search to be added to the watch list 2022-12-23 12:31:33 -06:00
CheatsManager.cpp DolphinQt: add a 'add to watch' context menu item that allows you to add a memory location found in a cheat search to be added to the watch list 2022-12-23 12:31:33 -06:00
CheatsManager.h DolphinQt: add a 'add to watch' context menu item that allows you to add a memory location found in a cheat search to be added to the watch list 2022-12-23 12:31:33 -06:00
ConvertDialog.cpp Added a way to check Block Size, Compression Method, and Compression Level flags to dolphin-tool 2022-03-19 17:13:28 -05:00
ConvertDialog.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DiscordHandler.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DiscordHandler.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DiscordJoinRequestDialog.cpp Remove most uses of StringFromFormat in favor of fmt 2022-10-12 16:50:47 -07:00
DiscordJoinRequestDialog.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DolphinEmu.entitlements DolphinQt: Add com.apple.security.cs.allow-dyld-environment-variables to entitlements 2022-05-18 20:23:17 -04:00
DolphinEmuDebug.entitlements DolphinQt: Add com.apple.security.cs.allow-dyld-environment-variables to entitlements 2022-05-18 20:23:17 -04:00
DolphinQt.manifest Update supportedOS values in .manifest files 2022-08-05 10:26:22 +10:00
DolphinQt.rc Move DolphinQt2 to DolphinQt 2018-07-07 00:48:38 +02:00
DolphinQt.vcxproj New FrameTime/VBlank Analyzer + Graph 2022-12-23 19:52:53 -05:00
DolphinQt.vcxproj.user msbuild: use default Project attrs 2022-04-27 15:26:43 -07:00
GBAHost.cpp Qt/Core: Refactor GBA Core accessors 2021-07-24 14:54:57 +02:00
GBAHost.h Qt: Implement GBA host and widget 2021-07-13 16:43:28 +02:00
GBAWidget.cpp CoreTiming: Refactor to class. 2022-11-27 03:47:12 +01:00
GBAWidget.h GBA: Add import and export save options to context menu. 2021-11-21 18:08:23 +01:00
GCMemcardCreateNewDialog.cpp Add wrapper function to disable hotkeys for QFileDialog 2021-10-09 22:43:56 -04:00
GCMemcardCreateNewDialog.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
GCMemcardManager.cpp DolphinQt: Unify handling of raw memory card path. 2022-06-05 21:48:13 +02:00
GCMemcardManager.h Use Slot in GCMemcardManager 2022-01-16 14:21:32 -08:00
Host.cpp VideoCommon/Fifo: Pass Core::System to methods. 2022-12-10 17:16:26 +01:00
Host.h Qt: Implement GBA host and widget 2021-07-13 16:43:28 +02:00
HotkeyScheduler.cpp AudioCommon: Pass Core::System to AudioCommon functions. 2022-11-06 02:13:58 +01:00
HotkeyScheduler.h Add hotkeys for incrementing/decrementing selected state slot (like RetroArch) 2022-08-07 12:20:09 -05:00
Info.plist.in Set LSApplicationCategoryType to games 2023-01-10 11:34:42 +00:00
Main.cpp Integrate "Ignore for this session" better with config system 2022-09-24 13:03:45 +02:00
MainWindow.cpp Remove Boot from DVD Backup 2023-01-16 18:32:43 -08:00
MainWindow.h MenuBar: Add action which opens the user folder 2023-01-16 04:08:19 -05:00
MenuBar.cpp Remove Boot from DVD Backup 2023-01-16 18:32:43 -08:00
MenuBar.h Remove Boot from DVD Backup 2023-01-16 18:32:43 -08:00
NANDRepairDialog.cpp Qt: Make custom dialog for NAND Repair. 2022-08-28 03:11:17 +02:00
NANDRepairDialog.h Qt: Make custom dialog for NAND Repair. 2022-08-28 03:11:17 +02:00
NKitWarningDialog.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
NKitWarningDialog.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
RenderWidget.cpp RenderWidget: Fix random crash due to missing ImGui context 2022-11-06 21:41:07 +01:00
RenderWidget.h DolphinQt: Fix window focus from unpausing after a manual pause. 2022-10-25 19:39:41 -05:00
ResourcePackManager.cpp Add NonDefaultQPushButton to set autoDefault of buttons to false 2022-03-08 08:51:29 +01:00
ResourcePackManager.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Resources.cpp Config: Port remaining Interface settings to new config system. 2021-12-31 17:40:04 +01:00
Resources.h Core, DolphinQt, UICommon: Fix all cases of -Wrange-loop-construct in gcc 11 2021-11-02 13:50:21 +01:00
RiivolutionBootWidget.cpp Fix shadowing variables in labmdas 2022-02-13 14:38:59 -08:00
RiivolutionBootWidget.h DolphinQt: Add a 'Save as Preset' button to RiivolutionBootWidget. 2021-12-12 21:26:09 +01:00
SearchBar.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
SearchBar.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Settings.cpp AudioCommon: Pass Core::System to AudioCommon functions. 2022-11-06 02:13:58 +01:00
Settings.h DolphinQt: add warning if graphics mods are not enabled 2022-06-27 18:28:28 -05:00
ToolBar.cpp Qt: Allow opening controller settings during netplay. 2022-10-02 23:14:34 +02:00
ToolBar.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Translation.cpp Remove most uses of StringFromFormat in favor of fmt 2022-10-12 16:50:47 -07:00
Translation.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
Updater.cpp Updater: Add/clarify error messages 2022-10-31 23:36:07 -07:00
Updater.h Qt/Updater: Remove unused member variable. 2022-11-15 00:56:08 +01:00
WiiUpdate.cpp Resolve GCC Warnings 2022-06-30 15:26:48 -05:00
WiiUpdate.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
pch_qt.cpp msbuild: add pch for dolphinqt 2022-06-21 13:35:14 -07:00
pch_qt.h msbuild: add pch for dolphinqt 2022-06-21 13:35:14 -07:00
qt.conf Move DolphinQt2 to DolphinQt 2018-07-07 00:48:38 +02:00
qt.conf.win DolphinQt/CMake: Building on Windows 2019-05-12 00:05:10 +02:00
qt6.natvis Add support for building against Qt 6 2022-05-02 22:39:33 -07:00
resource.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00