Re: Protected Process




"Phillips" wrote in message
| Try your luck here:
| http://blogs.msdn.com/larryosterman/archive/tags/Audio/default.aspx
| Michael

Huh, there You say? ;-)
And there it is! :-) Thank You very much, Phillips!
No more dropped samples, the visual performance is also improved.
I can play 4ch32bit96kHz.wav while Task Manager is open; browsing the web
with Internet Explorer or moving windows fast around the two monitors. And
it no longer dropped frames. XP still has much better performance (many
times better) than Vista, but at least the MP3 playback is glitch free now!


Starting from your link, right turn at
An Overview of Windows Sound and "Glitching" Issues
http://blogs.msdn.com/larryosterman/archive/2007/10/30/an-overview-of-windows-sound-and-glitching-issues.aspx

.... Read what is worth reading: "It's worth a read"
http://windowsvistablog.com/blogs/windowsvista/archive/2007/10/29/an-overview-of-windows-sound-and-music-glitching-issues.aspx

And finally someone on the comments mentioned about the:
Multimedia Class Scheduler Service
http://msdn.microsoft.com/en-us/library/ms684247.aspx

And here is the charm.reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\Multimedia\SystemProfile]
"NetworkThrottlingIndex"=dword:0000000a
; SystemResponsiveness determines the percentage of CPU resources
; that should be guaranteed to low-priority tasks. For example,
; if this value is 20, then 20% of CPU resources are reserved for
; low-priority tasks. Note that values that are not evenly divisible
; by 10 are rounded up to the nearest multiple of 10. A value of 0
; is also treated as 10. This fixes the audio samples dropping in Vista.
; The old value was 0x64 (100); the new is 0x0A (10)
; "SystemResponsiveness"=dword:00000064
"SystemResponsiveness"=dword:0000000a


George Valkov

PS:
I spent a long-long hours reading and I realised that there are many people
having the same issue that I had. The only difference between my computer
and theirs' is that mine is from 2003 and their are brand new with the Vista
compatible hardware logo, dual core CPUs, a frew GIGs of RAM, etc...
Otherwise we all sufferd from the same problem.

Cheers!


|
| "George Valkov" <a@xxxxx> wrote in message
| news:OeFYx0qCJHA.5316@xxxxxxxxxxxxxxxxxxxxxxx
| > Thank You for the replay, Philips!
| >
| > I mentioned about CPU scheduling, because there is an important flaw in
| > the
| > design of the Windows Audio sub-system. The entire audio traffic is
forced
| > through an isolated process that is using Normal CPU priority. This
means
| > that if a Higher priority process (for example the Task Manager or the
| > display window manager) is using the CPU for a long time, the Audio
| > playback
| > will drop samples. Yes, reducing the priority of Task Manager solves the
| > issue, but it starts with High priority every time. Newer computers
| > usually
| > have dual-core processors, so the audio related tasks can run on one
core,
| > while the graphic tasks are running on the other, hence there should be
no
| > problems playing audio on such hardware.
| >
| > Changing the priority of the Audio player even to Real-time does not
solve
| > the issue, because the audio path still goes through a process using
| > Normal
| > CPU priority, which is waiting for the CPU to become available. It is
not
| > possible to change the priority of a protected process, unless I figure
| > out
| > a way to unprotect it. ;-)
| >
| > The only way around (that I know of), is to go around the isolated
| > process.
| > This means to program a new MP3 from scratch. Luckily the test
| > application,
| > which I just wrote is successful. Compared to all other players, my
| > application uses a few times less CPU cycles for the Audio playback and
| > does
| > not drop samples.
| >
| > I still want to unprotect this process, I hate when there's something
that
| > am not in control of!
| >
| >
| >
| > "Phillips" wrote
| > |I would first check any IRQ conflicts for the sound card... maybe move
it
| > | into another slot.
| > Moving to another PCI slot has no effect. Before I purchased the x-fi
| > card,
| > I had an Audigy 4 card, and the same problem.
| >
| > [BIOS]
| > IRQ:5 is shared between the Creative X-fi xtreme music
| > sound card (PCI-slot) and the USB controller.
| >
| > Func No:0, Class:401, Device Class:Multimedia device, IRQ:5
| > Func No:3, Class:???, Device Class:USB 2.0 EHCI Cntrlr, IRQ:5
| >
| > [Windows.Vista]
| > IRQ:0x13 (19) is dedicated to the sound card and is NOT used
| > for any other devices. Conflicting device list: No conflicts.
| > I/O Range B800 - B81F
| > Memory Range EC00 0000 - EC1F FFFF
| > Memory Range E800 0000 - EBFF FFFF
| > IRQ 0x00 0013 (19)
| >
| >
| >
| > | Then, I would look for proper drivers... try whatever MS has to offer
vs
| > | Sound Blaster's.
| >
| > I use the latest from Creative. There are no built-in vista drivers (at
| > leaast not in the trial version of Windows 2008 datacenter ;-)
| >
| > | Third, I'd check Sound settings and set to the minimal options -
stereo,
| > | 16000HZ, 8bit, disabled audio "enhancements," etc.
| >
| > I use 24 bit, 96000 Hz studio quality. As You recommended, I switched to
| > 16
| > bit, 44100 Hz CD quality, but it still drops samples.
| >
| >
| >
| > | Fourth, I'd skin Vista to the bone - eye candy wise - to free some CPU
| > time.
| > | Michael
| >
| > Switched to Windows Classic colout scheme, still drops
| > samples, and performance when moving windows is even worse.
| > ^ Vista seams to have better window performance with Aero enabled.
| > I use the latest ATI drivers from AIW9600XT.
| >
| >
| > |
| > | "George Valkov" <a@xxxxx> wrote in message
| > | news:%23CWMqEfCJHA.1816@xxxxxxxxxxxxxxxxxxxxxxx
| > | >I would like to change the CPU scheduling priority of a protected
| > process.
| > | > To be specific: Windows Audio Service (the isolated process), to
| > | > Real-time.
| > | >
| > | > Is this possible and how? If necessary, I can program a custom
service
| > or
| > | > modify any registry setting if any available related to the CPU
| > priority.
| > | > Or
| > | > is it possible to completely disable the isolation - I don't care if
| > this
| > | > will break any advanced audio functionality - If I can play MP3's,
| > that
| > | > would be enough for me.
| > | >
| > | > The reason for this is because my computer drops audio samples when
I
| > move
| > | > windows or start programs (especially Task Manager or any other
| > programs
| > | > using high CPU priority).
| > | >
| > | >
| > | > Thank You for any help, web links and great ides!
| > | >
| > | >
| > | > George Valkov
| > | >
| > | >
| > |
| >
| >
|


.



Relevant Pages

  • Re: Why INFINITE loop in a thread occupy so much CPU time??
    ... dynamic priority adjustment, and so forth. ... This is really a Windows thing rather than a programming problem. ... It depends on what you call "CPU Utilization" too. ...
    (microsoft.public.vc.mfc)
  • Re: Why INFINITE loop in a thread occupy so much CPU time??
    ... Why INFINITE loop in a thread occupy so much CPU time?? ... dynamic priority adjustment, and so forth. ... This is really a Windows thing rather than a programming problem. ... interfere because the GUI is not the highest priority thread possible. ...
    (microsoft.public.vc.mfc)
  • Re: Why INFINITE loop in a thread occupy so much CPU time??
    ... dynamic priority adjustment, and so forth. ... This is really a Windows thing rather than a programming problem. ... resource, the CPU. ... every operating system in history: you don't poll for state changes, ...
    (microsoft.public.vc.mfc)
  • Re: Why INFINITE loop in a thread occupy so much CPU time??
    ... Why INFINITE loop in a thread occupy so much CPU time?? ... dynamic priority adjustment, and so forth. ... This is really a Windows thing rather than a programming problem. ... every operating system in history: you don't poll for state changes, ...
    (microsoft.public.vc.mfc)
  • [ckpatch][3/29] 2.6.17-smpnice-staircase-16
    ... Implement the "staircase" hybrid foreground-background single priority ... array cpu scheduler policy. ... extern struct user_struct root_user; ... goto out_running; ...
    (Linux-Kernel)