Jump to content

Device buffer empties when ImgBurn windows doesn't have focus


Recommended Posts

I reported this problem before but never really got to the bottom of it. During the second half of a 12x burn the Device buffer often empties when the IB window does not have the focus. When the IB window does have focus, the Device buffer stays pretty constant at near full.


I don't get any such problems with Nero so am thinking it might be related to I/O Transfer Length since the hard drive seems to be more active when burning with IB as opposed to Nero, and have a few questions so I can perform some additional tests:


1) When set to Automatic, what length does IB use (64KB ?) ?

2) Does anyone know what length Nero uses (or how I can find out) ?

3) I know you changed it to 256KB before in a previous build, but that caused problems with the windows caching mechanism. Were/Are there any such problems when set to 128KB ?

Link to comment
Share on other sites

A bit more info....


I was wrong when I said it only occurs if the IB window doesn't have the focus - It also occurs when the IB window does have the focus, although it's no where near as bad.


I checked the Graphs in DVDInfoPro and found that...


With 32K length, it cannot get above 8x, and evetually drops the speed down to 4x.


With 64K (I presume - ie. Auto), it gets to 12x but struggles a bit


I'm guessing that a Transfer Length higher than 64KB would help improve the situation on my system.


Below are the graphs (32K first, 64K second):





Link to comment
Share on other sites

For CD/DVD transfers, I very much doubt you can go over 64k. I don't think I've ever seen a driver that supports it. They error out if you try.

I've also never seen a program attempt more than that. Nero included.


For HDD reads, bigger transfers just means windows caches it before sending it back. The physical read from the hdd is still 64kb at a time.


You can see how badly the overhead of small packets (32k) effects firewire / usb interfaces. They're just not very good for burning at speed with optical drives.

Different chipsets also perform better/worse than other ones.


If there was anything to do in this department, I'd have already done it.

Link to comment
Share on other sites

Could the interface possibly be the problem then ?


I have been using SPTI, but Nero uses something else (its own interface ?).


Other than that I'm not sure what else is different between IB and Nero. Something is definitely affecting performance with IB when moving data from the Buffer to the Device Buffer.

Edited by Defenestration
Link to comment
Share on other sites

Well, I've done a few tests and both IB and Nero take roughly the same amount of time for burns at 8x and also at 12x, so it would appear that Nero is in fact burning at 12x when it says it is. This also proves my system can handle burning at 12x.


However, as already mentioned the Device buffer in Nero does not fluctuate wildly whereas it does (including emptying on occasions) in IB. I had another idea that some of the reader/writer threads in Nero may be boosted to priority 14 or 15 although this is only a guess.


Don't take this the wrong way but it would appear that the method used by Nero to keep the Device buffer filled during a burn is currently better than the method used by IB.

Link to comment
Share on other sites

Filling the device buffer is just sending the 'write' command to the drive. I'm not actually filling a buffer - so to speak.


I *could* boost the priority of the write thread but that could starve others of cpu timeslices.


If it's a real problem for you, stick to using Nero.


If it was a widespread problem, you probably wouldn't be the only one reporting the issue and maybe I'd have even experience it myself.


It's bloody hard to do anything about weird happenings when they're only occurring on 1 pc.

Link to comment
Share on other sites

I've never had a bad burn while using IMGburn and before that the other program and haven't made a coaster in over three years and I don't know how many burns . The coasters I did make were my fault .I use good drives and quality media read Verbatim and Taiyo Yuden .Comparing IMGburn to Nero I don't see why ,IMG is a relativly new program ,is excellent ,ever evolving ,getting better and better ,and free to boot,and has support that no other program comes close to .This program is LUKs baby/toy to do with as he will and he's more that agreeable by adding features that members would like within reason .I personally think all the comparison is unfare and if in your opinion Nero is the superior burning program then by all means you should use that its great to have choices :thumbup:

Link to comment
Share on other sites

your system CANNOT handle writing at 12x . proof is in your graphs above


1st graph shows average write rate at 4.86x and maxed at 9.51x , even though you selected 12x ( this is about normal for a laptop and firewire writer, although you should be able to hit a constant 8x write)


2nd graph shows average write rate 8.37x and maxed at 21.51x !!!!


if it could write constantly at 12x then the average would show something like 11x and upwards.

in the first graph using 32k , you can see your drive was starting to struggle trying to write at a constant 8x ( between the 1gb and 1,5gb mark) , the write speed dropped, the buffers dropped and the write rpm died as well .


in the second one it says it maxed at 21.51x, which would be off the top of the graph. the write buffer line tried to stay constant, but kept dropping and recovering, but at the end it was all over the show , maybe the 32/64k difference, but more like the system could not sustain a constant 12x write


was these 2 different images you burnt , as they look like they are different to me .


again , as said previously IMO , your expecting desktop performance out of a laptop with a firewire optical drive , and this just ain't goin to happen ! just accept it ;)

i even tried a USB2 ext hdd to feed a 1394 12x writer , and thats about the fastest I/O combo you will get with a laptop, and it still wouldn't hold a speed of 12x.

Link to comment
Share on other sites

LUK - I understand the problems of trying to fix something that you cannot reproduce. You mentioned that you could boost the priority of the Write thread but thought this might affect the other threads. I would be happy to test a special build which has this change to see if this solves the problem, since I would very much like to solve this issue, if poss ?


polopony - I did not say that IB produced coasters and did not say Nero is better as a whole, but simply stated that Nero does not suffer from the problem of the Device buffer emptying when burning at 12x on my system, whereas IB does (and so appears to have a superior way method of keeping the Device buffer filled up). I am merely reporting a reproducible problem I have with IB on my system when burning at 12x.


volvo - The graphs do not prove my system cannot handle 12x burns. The NEC 4550 uses CAV (Constant Angular Velocity) to write DVD-R which means that the write speed starts out lower than the specified setting, rising as the burn progresses which results in an average burn speed less than specified speed (eg. around 8.5-9x for a 12x burn). Dropouts at certain points in the burn are also normal for an NEC drive (ie. it's just the way they work). Most of the problems on the graphs I posted are because the Device buffer kept emptying during the burn (shown by the white line). The erroneous Max speed is caused by sampling/buffering problems during the burn.


I will do another test burn at 12x with Nero CD/DVD Speed which shows a smoother line (apart from the expected dropouts).


BTW, the the 2 images burnt in the previous graphs were the same image. The only difference between the two was that the first one was using a 32K Transfer length.


Check out the following cdfreaks review page of the NEC 4550 burner which shows a normal 16x burn on DVD-R media (note the drop-outs)




From my tests I personally think my system can handle 12x burning with my external firewire connected burner (during a 16x test, it only struggles at around 14x). If it can indeed handle 12x burning, then I don't see what is the problem of trying to get IB to successfully burn at this speed.



I would hope LUK can find the time to look at this issue (or provide me with a test build with the increased priority for the Write thread), but also respect the fact this is a labour of love and so understand if he chooses not to. IB is my preferred burning app and I simply want it to work as well as it can on my system.

Link to comment
Share on other sites

I don't get any such problems with Nero


Bear in mind Nero will tell you it's burning at the Speed you choose at start when infact it's not writing at that speed.



Import/merge this registry entry to see what nero is actually burning at.



test before importing reg, then do same burn after importing.

Edited by dontasciime
Link to comment
Share on other sites

It's a bit naughty of Windows to not provide the app with enough time slices (especially when set to 'High' priority) to maintain the buffer at 100%.


I've added support for reg settings that'll override default thread priority.


You can mess around until your heart is content when v2.1 gets released.

Link to comment
Share on other sites

Hmmm, after some more testing it would now appear that Nero CD/DVD Speed does also have problems when it reaches 12x :blush: I haven't done these same tests for a while (6 months or so), but when I originally did them it only started having problems when it reached just over 14x. Not quite sure what has happened to my system to cause this - if anything my system should be faster since the hard drive was upgraded from 40GB 4200rpm to 100GB 7200rpm.


After applying the reg settings that dontasciime provided I performed another burn which didn't appear to have any such problems at 12x.


Another thing I didn't realize was that different write strategies are used for Verbatims DVD-R (CAV) and Taiyo-Yuden DVD-R (Z-CLV).


Thanks for implementing the thread priority reg settings LUK. I will do some more testing with different thread priorities once 2.1 is released to see if that helps.


After all that though, I may well end up heeding your advice and switch to burning at 8x from now on due to the conflicting test results I'm getting :)

Link to comment
Share on other sites

  • Create New...

Important Information

By using this site, you agree to our Terms of Use.