IPB

Welcome Guest ( Log In | Register )

> foobar2000 Tech Support Forum Rules

Please read foobar2000 Tech Support Forum Rules before posting and comply with all the points.
Failure to provide all the information pointed out in the above document in your post is considered wasting other people's time and in extreme cases will lead to your topic getting locked without a reply.


See also: Hydrogenaudio Terms of Service.

 
Reply to this topicStart new topic
Foobar2000 causing disk seek twice a second (should preload current so
robertcollier4
post Nov 26 2012, 13:35
Post #1





Group: Members
Posts: 33
Joined: 25-November 12
Member No.: 104754



Hi - I have just tried the Ram-Disk component and tested it with Process Monitor by Sysinternals with option "Show Filesystem Activity". When Foobar2000 is normally playing - Process Monitor is showing a disk read to the MP3 file twice every second. In the context of computer performance with spinning disks - this is a HUGE performance penalty among other usage (most people use the computer while listening to music in Foobar2000). The disk head is having to constantly seek back and forth between the user's current application and the background-playing MP3 file location - twice a second.

With the Ram-Disk component and playing from it - I can confirm that Process Monitor shows absolutely no filesystem activity from Foobar. It would be a great addition and a huge plus-point/value-add that Foobar could have over all other players if it would have an option to automatically load the current song in the playlist from RAM. Currently with the Ram-Disk component - it takes several clicks to have to do it with each time you play a song. This feaure should be in-built into Foobar2000. Thanks.

Screenshot of activity when not using RamDisk. Notice the frequency of disk seeks shows an access twice per second:


This post has been edited by robertcollier4: Nov 26 2012, 13:47
Go to the top of the page
+Quote Post
robertcollier4
post Nov 26 2012, 13:42
Post #2





Group: Members
Posts: 33
Joined: 25-November 12
Member No.: 104754



Furthermore - if Foobar2000 is caching the song in its own internal memory store - it should tell Windows to not pollute its own filesystem cache with the song data via "FILE_FLAG_NO_BUFFERING"
http://msdn.microsoft.com/en-us/library/cc...0(v=vs.85).aspx
http://msdn.microsoft.com/en-us/library/aa...28VS.85%29.aspx
http://mssqlwiki.com/tag/file_flag_no_buffering/

http://www.codeproject.com/Articles/51678/...ith-the-FILE_FL
>>>The only method to prevent swapping out cache is to open files with the FILE_FLAG_NO_BUFFERING flag. This, however, requires disk I/O requests to have sizes divisible by sector size (512 to 4096 bytes), which would require large rewrites of most applications that rely on being able to request different sizes.
>>>This project contains a drop-in wrapper that offers the CreateFile_NB(), ReadFile_NB(), WriteFile_NB(), and CloseHandle_NB() functions that take care of queuing and adjusting the file size when closing a file opened for writing.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 23rd November 2014 - 04:49