Windows 7中的远程桌面增强(Graphics Remoting, Remote Desktop)
Windows 7中的远程桌面增强(Graphics Remoting, Remote Desktop)
Windows 7中的远程桌面增强(Graphics Remoting, Remote Desktop)
- Comments 3
- Likes
先看看Windows 7中的远程桌面给我们带来了些什么新的功能:
- 支持Windows 7 Aero效果的3D桌面
- 支持在Remote Desktop中流畅运行Direct 2D和Direct 3D 10.1的各类应用程序
- 真正的多显示器支持
- 远程桌面协议的内核性能增强,包括网络传输的优化和压缩
- 多媒体增强
- 支持Media Foundation
- 支持DirectShow
- 支持低延时的音频回放
- 双向的音频传输
接下来,我以PDC上关于RDP的课程为主,分以下几个部分详细的跟大家探讨一些远程桌面的技术和Windows 7中最新的进展。
- RDP协议的发展和应用历程
- Windows 7中的RDP设计架构(RDP Graphics Architecture)
- 应用范围和演示
RDP协议的发展和应用历程
RDP是Remote Desktop Protocol的缩写,这是远程桌面的具体实现协议,微软在MSDN上公布了RDP的协议细则,据说有差不多2000多页的文档。RDP不是微软的专属协议,在Liunx等平台上也有不少实际的应用。如果你对RDP本身感兴趣,可以去看看wikipedia中关于RDP的描述。RDP在Windows平台下最常见的应用是大家熟悉的远程桌面,其实,除了远程桌面,以RDP为底层的应用还包括:
- Terminal Server
- Remote Desktop
- Remote Assistance
- Windows Meeting spaces
- Media Center Extenders and XBox 360
- SCCM Remote control
- Hyper-V Remote Control
- Windows Live Mesh
RDP是对网络有密集依赖的应用,它的架构和分层如下:
近些年来,随着多媒体、3D应用和用户体验的不断提高,Windows下的远程桌面已经不能满足一些日益增多的需求。为此,Windows 7下的RDP和远程桌面做出了革命性的变化。
Windows 7中的RDP设计架构(RDP Graphics Architecture)
在Windows 7的RDP设计中,一个非常重要的概念是对3D图像图形的渲染,通常,当我们玩3D游戏时,这些渲染是在本地计算机完成的。在Windows 7的RDP中,3D渲染既可以在本地计算机(我们称为Host机)完成,也可以在运行Remote Desktop的计算机(我们称为Client机)上完成。
具体的来说:Host机上执行3D渲染时,RDP采用了缓存、压缩等技术确保Demote Desktop上图像的流畅;在进行Client机的3D渲染时,Host机可以通过GDI, Direct 3D, Media, DWM等3D指令集,把需要渲染的数据包通过RDP传送到Client计算机,由Client计算机的CPU和显卡GPU完成硬件的渲染计算。
从这张架构图,我们可以看出,在RDP协议的上层,为D2D、DX10.1、DWM、Media App、GDI App等提供了接口。使用这些协议的3D游戏、高清视频播放软件,可以将数据流先通过RDP传送到Remote Desktop所在的Client计算机,再由Client计算机上的硬件完成渲染和执行。有这样的架构,也就不难理解,为什么可以在远程桌面中流畅的运行3D游戏了!
大家可能比较感兴趣,什么样的应用是在Host机上完成渲染的,什么样的应用是在Client机上完成渲染的,具体的任务分工如下:
Host机渲染:
- WPF
- Silverlight
- Flash
- 早于Direct3D 10.1版的3D应用
- 其他的多媒体信息
Client机渲染:
- GDI
- Direct2D
- Direct 3D 10.1版之后的3D应用
- 在Clieng机上有Codec的,并且是没有进行DRM加密的多媒体视频文件
Windows 7中RDP的另一个法宝,就是对网络带宽的充分利用和压缩。相比XP和Vista下的RDP,Windows 7 RDP节省了大约40%的网络开销,具体的测试数据如下:
应用范围和演示
我们已经比较清楚,如果想在远程桌面流畅的玩游戏、看电影,必须满足以下的要求:
- 客户机和远程计算机都必须是Windows 7或Windows Server 2008 R2以上的版本
- 如果是2D游戏,需要支持Direct2D;如果是3D游戏,需要支持Direct 3D 10.1
- 本地计算机上必须有播放电影视频文件对应的Codec
- 本地计算机的CPU或者显卡应该满足渲染3D和视频的基本要求
如果想让自己开发的应用程序支持最新的RDP协议,需要研究一下这三个东西。我对开发的技术不是非常了解,原文照搬如下,大家可以到MSDN里面查一下RDP的具体API。
Dynamic Virtual Channels APIs
- Client/Server extensibility for RDP
- Bi-directional streams that extend RDP
- Internal features use same technology
Remote Desktop ActiveX APIs
- Host/customize full RDP client in your apps
- Usable from web, managed or native code
RDP Windows Desktop Sharing APIs
- RDP Platform for screen sharing
- Enables sharing console, multiparty connections
- Basis of Remote Assistance
开发人员可以用下面的API来检测应用程序当前时候运行在远程桌面的会话中,并且根据情况进行优化和调整。
//Managed
System.Windows.Forms.SystemInformation.TerminalServerSession//Win32
GetSystemMetrics(SM_REMOTESESSION)
关于开发方面我就不深入的讨论了,大家可以看PDC上的有关课程。最后再贴几张网上找到的Windows 7远程桌面的运行效果图:
Windows 7中的远程桌面增强(Graphics Remoting, Remote Desktop)相关推荐
- Windows远程桌面的使用(Remote Desktop Connection)
Remote Desktop Connection是Windows自带的一款远程登录附件,非常简单易用. 1.打开的Remote Desktop Connection 输入对方IP地址,点击conne ...
- windows server 2012 r2 standard 通过堡垒机远程桌面服务器报错Remote Desktop Service CALs Request Failed
一.排查过程 过完春节后,通过堡垒机访问政务云服务器,发现无法通过远程桌面访问,报错Remote Desktop Service CALs Request Failed,直接关闭,继续查看其他的服务器 ...
- 在WINDOWS SERVER 上或远程桌面中使用 MUTEX
引用: http://www.cnblogs.com/fg0711/archive/2012/05/03/2480502.html 使用Mutex需要注意的两个细节 可能你已经注意到了,例子中在给Mu ...
- linux远程桌面MacOS,如何在Linux或macOS中使用远程桌面连接到Windows 10 | MOS86
如果您运行其他平台(例如Linux或macOS),但偶尔需要使用Windows 10 PC,则可以使用免费的远程桌面软件. 远程桌面协议是一种从网络上的另一台计算机控制Windows 10计算机的直观 ...
- windows server 2008设置远程桌面连接最大数量
windows server 2008设置远程桌面连接最大数量 系统默认远程桌面连接的数量为1 打开控制面板---管理工具---远程桌面服务---远程桌面会话主机设置---把"限制每个用户只 ...
- 启用Windows Server 2012的远程桌面
前言 Windows Server 2012 在Windows Server 2012 中远程桌面连接默认是禁用的. 启用Windows Server 2012的远程桌面 打开服务器管理器 点击远程桌 ...
- ①Windows Server 8基于远程桌面服务方案的安装
今天呢,我正式开始给大家介绍一同分享Windows Server 8的远程桌面服务有什么新的变化和内容了,虽然目前是Beta版,但我觉得大的方向和内容应该变化不到哪去了,同时Windows Serve ...
- [服务器]Windows server 2008 R2远程桌面授权破解方法
Windows server 2008 R2远程桌面授权破解方法 从Windows 2008 R2开始,windows 2008 r2的终端服务器已经更改为远程桌面服务器,但windows 2008 ...
- 远程桌面服务器office版本,Windows UWP 版 “Micosoft 远程桌面” 配置方法
Windows下的远程应用有三种配置使用方法.使用微软商店(Microsoft Store)安装的 Windows UWP (Universal Windows Platform) 版的 " ...
最新文章
- html5基础知识文档,HTML5基础知识(1)
- Python异常处理体系简介(1)
- 岗位推荐 | 微软AI Research Group招聘自然语言处理AI算法研究实习生
- php mongodb 子查询,MongoDB数组子查询elemMatch
- LeetCode-18-4Sum
- linux查服务器总内存大小,在linux 下怎么查看服务器的cpu和内存的硬件信息
- Single Image Haze Removal(图像去雾)-CVPR’09 Best Paper
- MySql与SqlServer的一些常用用法的差别
- JAVA:基础递归算法大杂烩
- java 内存屏障_关于Java中的内存屏障
- #今日说码栏目#第十五集 iconfont-阿里巴巴矢量图的使用方法(保姆级教学,挑战全网最细致的使用矢量图)
- 信息源按加工深度划分_信息检索教程
- 拉着老公,逛了一趟绿源电动车连锁店,喜提新座驾。
- LeetCode:20 vaild parentless
- 在无处落脚的大海,你就是我的岛屿
- python实现百万英雄答题神器
- 【解决方案】adb无法连接雷电模拟器问题
- 【程序源代码】微信小程序商城,微信小程序微店
- 72个免费学习网站,涵盖所有,你值得拥有!【非推广】
- MIPS微程序CPU设计
热门文章
- python怎么清屏_python实现清屏的方法 Python Shell中清屏一般有两种方法。
- python os如何创建文件夹_Python怎样创建文件夹,怎样删除文件夹
- mysql 主从热备份 5.6 参数_MySQL主从热备份
- 成绩转换(百分制到五级制的转换)-(只作新手参考)
- bootstrap 按钮样式单选效果_【20201117】Bootstrap前端框架学习笔记
- Chrome插件管理器
- Yaml锚点和别名*
- recovery升级是显示进度条_注意!税控系统软件升级了,还有疑问看这里!
- php中多重继承,PHP面向对象之多重继承与接口用法
- 计算机是最大的一片云,计算机体系结构发展的四个时代介绍