Re: [請問] 有關遠端連線
※ 引述《sinpei (ㄚ哈)》之銘言:
: 請問有沒有哪一個遠端連線的程式
: 是能夠讓我連到遠端的電腦
: 然後利用遠端的電腦看網路電視的呢?
其實在推文中就有人提過了,把DirectDraw的硬體加速關掉就可以了。
作法大概是這樣(Windows XP w/DirectX 9):
在開始→執行中輸入dxdiag後按確定,會出來DirectX診斷工具,
然後"顯示"的分頁中,DirectDraw用旁邊的按鈕設為"停用"即可。
不過這可能會導致播放影片的效能大大的降低,並影響到部分遊戲 / 應用程式的效率。
如果你真的需要這麼做,請記得在用完之後開回來。
另外,這麼做也許可以讓影片畫面透過各種遠端桌面傳輸到另一台電腦,
但是並不代表就可以很順暢的播放,因為播放影片所需要的頻寬是很可怕的。
簡單的說,除非在區域網路或是你頻寬超大,否則應該要順暢不容易。
==============以下是一些技術性的討論,沒興趣的可以跳過。===============
一般常見的影像檔幾乎都經過不等的壓縮,才成為我們手上這些檔案的大小,
但是遠端桌面傳輸的是(據我所了解)最後的畫面而不是壓縮的內容;
隨便一個數百MB的影片檔,很可能輸出畫面的頻寬就需要10MB/s以上,
否則就是犧牲每秒的張數,以流暢性為代價。而這些還沒把聲音的部分算進去。
這也是為什麼會需要串流格式的原因,
直接把資料分部份傳給你,讓你用自己的硬體解碼播放,比傳最後的畫面好太多了。
影片播放會無法透過遠端桌面傳輸的原因,
是因為很多的播放軟體是透過DirectShow API來播放。
DirectShow在經過所有的filter / codec之後,會呼叫Direct Draw來顯示畫面,
而DirectDraw則會透過顯示卡的支援,在顯示卡的記憶體中劃出一塊空間,
然後所有影片的內容就會寫在這個空間上面,而不是透過Windows的繪圖系統,
這個動作叫做Overlay Surface。
以現在的產品來說,即使是內建的顯示卡都可以輕鬆的做到這些事,
(題外話,現在很多內建顯卡已經把以前的高階卡巴假的了...)
高階的顯示卡甚至可以用GPU的運算能力來加速解碼的過程,降低CPU使用率。
Overlay Surface無法透過PrtScr或是遠端桌面看到,
因為這些動作都是抓Windows的繪圖,而不會特別抓overlay的部份。
這也是為什麼把DirectDraw的硬體加速關閉可以達到原PO的目的,
但是,當初這麼做的原因就是為了效率,因此關閉它可能會造成效率上的問題。
即使是不經過DirectShow的撥放器,如VLC,
只要有透過DirectDraw /Overlay Surface加速,就會遇到同樣的問題。
所以把硬體加速關掉就可以抓圖,也可以遠端看到了。
如果說有某種遠端桌面的技術,會呼叫client端的硬體來加速使用server端的檔案,
或許這個問題可以迎刃而解,但是我是沒聽過有這麼神奇的技術XD
(印象中是這樣,有錯請不吝指正。另外據說Dx9以後又有改了...)
--
Sincerely.
--VinTW
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.136.8.212
我好像把Overlay Surface記反了...希望沒有修到推文
※ 編輯: vintw 來自: 220.136.8.212 (03/22 02:20)
推
03/22 07:25, , 1F
03/22 07:25, 1F
→
03/22 07:25, , 2F
03/22 07:25, 2F
→
03/22 09:24, , 3F
03/22 09:24, 3F
推
03/22 11:03, , 4F
03/22 11:03, 4F
討論串 (同標題文章)