Spin up drive at beginning of rip

Everything related to MakeMKV
Post Reply
bhershey
Posts: 2
Joined: Fri Nov 08, 2019 3:05 am

Spin up drive at beginning of rip

Post by bhershey »

Many times the program will start with the drive spinning slow, under 1.0x, then 5 full minutes pass and it finally speeds up and finishes. Can a spin command be initiated at the start to go full speed? I know other programs do this, like the Nero drive test program.
Woodstock
Posts: 9939
Joined: Sun Jul 24, 2011 11:21 pm

Re: Spin up drive at beginning of rip

Post by Woodstock »

MakeMKV spins the drive as fast as it can read... at the beginning of the disk, that isn't that fast. As you move out from the hub, the bit density per rotation is ever increasing, so the read speeds increase.

With few exceptions, the drive itself is the speed limiter on rips. If it isn't, you'll see messages about how MakeMKV is reading faster than it can write to storage.
MakeMKV Frequently Asked Questions
How to aid in finding the answer to your problem: Activating Debug Logging
bhershey
Posts: 2
Joined: Fri Nov 08, 2019 3:05 am

Re: Spin up drive at beginning of rip

Post by bhershey »

Thanks for the reply Woodstock, are you involved in the programming of MakeMKV?

It's a bit more involved than your general statements. When first loading a disk the Windows MMC ramps it up to full speed, then depending on the data transfer rate will adjust the speed accordingly. So for example, when first started MakeMKV will spin up the drive and populate the disc info, then when you click the DVD it will spin up again and populate the chapters.

As the chapters are being populated and all the other steps involved, like decryption, etc., the drive head may be bouncing all over the disc surface. If it encounters any transfer problems it will DECREASE the speed automatically and it will REMEMBER this speed for the next read operation.

At this point the user chooses what titles and features they want. They may pick only the first title, which may be at the beginning of the disk and not anywhere near the location on the DVD that triggered the REDUCED speed in the prior step. So now you have to wait many minutes of slow transfer speed before it reevaluates the read speed and speeds up again.

I'm currently ripping a few hundred DVD's, I'm in the 50's so far, and I see this pattern happen often. The solution is to make a manual call to the MMC that puts the DVD at full speed as soon as the "MakeMKV" button is pressed. Because this is starting a new set of operations on the disk compared to the steps prior, it's acceptable programming practice to initiate the full speed spin. The drive head may be accessing different parts of the DVD compared to all the prior operations.

Once the program starts the ripping operation, it MAY or may NOT encounter the problem areas from before. If it DOES, it will simply and appropriately slow down.

I hope I was able to properly convey the logic behind this improvement. To implement, it all depends on the programming language used and the skill of the programmer(s). Any questions or if you need assistance researching this let me know. Thanks!
Woodstock
Posts: 9939
Joined: Sun Jul 24, 2011 11:21 pm

Re: Spin up drive at beginning of rip

Post by Woodstock »

No, I'm not one of the developers, but I have used the program for most of a decade now.

The behavior you cite for MMC has not happened on my systems. MakeMKV will spin the disk much faster than Windows does while loading a disk, but only after the rip itself starts. Windows doesn't seem to bring it up to a very high speed at all; I can hear it accelerate noticeably when I tell MakeMKV to read the directory. When I start the rip, it quickly jumps over 1x speed (within 500K of starting the rip), and is over 2x shortly thereafter, on my slowest BD (which also happens to be the one I can hear).

This test was done with a BD movie.

In the case of a DVD, it hit 1x at 9K into the rip, and over 3x at 30K.
MakeMKV Frequently Asked Questions
How to aid in finding the answer to your problem: Activating Debug Logging
Post Reply