国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁/技術(shù)文章
文章詳情頁

Windows Vista播放多媒體減慢網(wǎng)速原因

瀏覽:75日期:2023-08-20 08:30:42

著名Windows專家、《Windows Internals》一書作者M(jìn)ark Russinovich近日在其Blog上對近幾天一些論壇上提出的Windows Vista在播放多媒體文件時導(dǎo)致網(wǎng)絡(luò)速度嚴(yán)重減慢提出了解釋,他在博客中提到:

很多人正確地指出了導(dǎo)致媒體播放時網(wǎng)絡(luò)性能下降問題的根源在于多媒體類計劃程序(MMCSS),一項曾在Technet雜志上連續(xù)三期介紹的Vista內(nèi)核新改變。多媒體播放需要媒體流具有一個穩(wěn)定的速率,否則當(dāng)要求達(dá)不到時播放就會出現(xiàn)“卡”的現(xiàn)象。MMCSS服務(wù)運行于服務(wù)宿主Svchost.exe 中,它自動提升音視頻播放的優(yōu)先級以防止其他軟件過分占用播放軟件應(yīng)得到的CPU時間。

當(dāng)一個多媒體應(yīng)用程序開始播放,多媒體API自動請求MMCSS服務(wù)在每10毫秒中的最多8毫秒時間將其播放線程的優(yōu)先級提升至級別16-31的最高級 (Realtime),而這決定于播放線程需要多少CPU時間。由于其它線程運行在動態(tài)優(yōu)先級15以下,就算是CPU占用相當(dāng)大的應(yīng)用程序都不會影響播放。

你能夠通過在WMP中播放一段音視頻剪輯來看到這一變化。在播放時運行可靠性與性能監(jiān)視器(perfmon.exe),選中性能監(jiān)視器,在Thread對 象中對所有WMPlayer.exe的線程加入Priority Current選項。將圖像范圍調(diào)整至31(Windows中最高優(yōu)先級)你就能夠輕易看到被提升的線程,在這里是優(yōu)先級21:

不僅是其他線程的活動,媒體播放也能受到網(wǎng)絡(luò)活動的影響。當(dāng)一個數(shù)據(jù)包到達(dá)系統(tǒng),觸發(fā)一個CPU中斷,將會使網(wǎng)絡(luò)設(shè)備的驅(qū)動程序執(zhí)行一個中斷服務(wù)程序 (ISR)。其它設(shè)備的中斷請求在ISR運行時將被阻止,因此ISR通常用于執(zhí)行一些設(shè)備記錄并且在一個DPC(Deferred Procedure Call)中進(jìn)行一些在一個更長的數(shù)據(jù)傳輸。當(dāng)DPC在中斷啟用的狀態(tài)被執(zhí)行,它們將無視優(yōu)先級而優(yōu)先于任何線程,因此可能對媒體播放線程造成沖擊。

而網(wǎng)絡(luò)DPC的處理要求幾乎是最高的,因為它將把數(shù)據(jù)包傳送至TCP/IP驅(qū)動,這需要長時間的計算才能完成。TCP/IP驅(qū)動校驗每個數(shù)據(jù)包、確定每個 包使用的協(xié)議、更新連接狀態(tài)、尋找接收應(yīng)用程序,并將接收到的數(shù)據(jù)復(fù)制到應(yīng)用程序的緩沖區(qū)內(nèi)。這一個Process Explorer截圖顯示了當(dāng)我將一個大文件復(fù)制到其它系統(tǒng)時,DPC的CPU占用率的上升。

在Vista開發(fā)時對MMCSS的測試中,發(fā)現(xiàn)即使增加線程優(yōu)先級,大規(guī)模的網(wǎng)絡(luò)傳輸也會使長時間運行的DPC影響到播放線程。因此MMCSS將會發(fā)送一條消息至NDIS驅(qū)動,使其每毫秒僅傳輸10個數(shù)據(jù)包(每秒1萬個)。

標(biāo)準(zhǔn)以太網(wǎng)的幀大小大約為1500字節(jié),1萬個包每秒的限制使得速度被限制在15兆每秒左右。這對于百兆網(wǎng)絡(luò)沒有影響,但將會使千兆網(wǎng)絡(luò)的性能下降到最大值的15%。

同時在NDIS的這段限制代碼中,一個BUG將使得這種限制在多網(wǎng)卡的系統(tǒng)中放大。比如如果你有一臺同時擁有有線和無線網(wǎng)卡的機(jī)器,這個限制將擴(kuò)大到8000包/秒,而三塊網(wǎng)卡時則進(jìn)一步擴(kuò)大到6000包/秒。這個限制此時在百兆網(wǎng)絡(luò)上也顯而易見。

我在我的3網(wǎng)卡筆記本上也發(fā)現(xiàn)了這一限制。在我向另一臺機(jī)器復(fù)制文件的同時,我打開WMP播放音樂。任務(wù)管理器顯示千兆網(wǎng)絡(luò)的使用率從20%降低至6%。

你能通過在性能監(jiān)視器視圖的Network對象中添加“每秒接收數(shù)據(jù)包”來監(jiān)視NDIS的數(shù)據(jù)包接收情況。下面你能看到我在實驗中接收數(shù)據(jù)率的變化。NDIS處理的數(shù)據(jù)包數(shù)沒有達(dá)到6000的“理論最大值”,可能是因為與對方機(jī)器進(jìn)行的連接準(zhǔn)備有關(guān)。

就算限制如此之大,Internet傳輸也不會受影響,因為多次中轉(zhuǎn)遠(yuǎn)遠(yuǎn)降低了數(shù)據(jù)包的傳輸率。

Vista的這個限制來自在百兆網(wǎng)絡(luò)上高傳輸率的同時達(dá)到低延遲流暢播放的實驗結(jié)果。這個硬編碼的限制是短視的,它忽略了今日多處理器系統(tǒng)和千兆網(wǎng)絡(luò)普及的現(xiàn)狀。現(xiàn)在Windows的網(wǎng)絡(luò)開發(fā)組正和MMCSS組共同努力,開發(fā)一個補(bǔ)丁來應(yīng)對此問題。

(譯者評論:不是一個BUG,是一個功能。難道為了那該死的多媒體組件,就要犧牲網(wǎng)絡(luò)性能?那些超高端的視頻編輯系統(tǒng),通過千兆網(wǎng)編輯文件服務(wù)器 上那些碼率上百Mbps的低壓縮率高清視頻素材,這樣一來不就“卡”到死了嗎?再進(jìn)一步說,如果Windows Server 2008正式版上這個MMCSS服務(wù)還是默認(rèn)啟用的,那么攻擊者就有了一種新的DoS服務(wù)器的方法,只要他有服務(wù)器的一般用戶權(quán)限,3389上去一放歌, 外面瘋狂DDoS、CC,服務(wù)器的當(dāng)機(jī)還會遠(yuǎn)嗎?)

在評論中有人提出了解決方案:

修改注冊表

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesAudiosrvDependOnService

將Windows Audio服務(wù)的依存服務(wù)選項中的MMCSS服務(wù)去掉,

再禁止MMCSS服務(wù),就能破解掉這一限制。

標(biāo)簽: Windows系統(tǒng)
主站蜘蛛池模板: 精品成人毛片一区二区视 | 正在播放的国产a一片 | 亚洲免费一 | 国产精品v在线播放观看 | 久爱www免费人成福利播放 | 日本暖暖视频在线播放 | 亚洲国产成a人v在线 | 毛片直接看 | 亚洲最新在线视频 | 亚洲精品一区二区三区在线看 | 俄罗斯极品美女毛片免费播放 | 精品96在线观看影院 | 国产一二三区视频 | 国产精品黄页在线播放免费 | 国产高清成人 | 在线看片亚洲 | 国产三级日本三级日产三 | 手机看片国产 | 香港一级特黄高清免费 | 国产日韩不卡免费精品视频 | 91久久99| 久久视频国产 | 国产精品变态重口在线 | 亚洲成人在线视频网站 | 国产精品特黄毛片 | 久久久久国产精品美女毛片 | 国产精品久久视频 | 国内一级野外a一级毛片 | 在线观看日本免费视频大片一区 | 波多野结衣在线播放 | 久久久影院亚洲精品 | 九九国产| 怡红院在线观看视频 | 91久久香蕉国产线看观看软件 | 精品久久久久中文字幕日本 | 男女晚上爱爱的视频在线观看 | 欧美亚洲在线观看 | 精品一区二区在线欧美日韩 | 亚洲爽 | 中文字幕一区二区三区有限公司 | 国产在线精品观看一区 |