Windows 7中的远程桌面增强(Graphics Remoting, Remote Deskto

08年的夏天,我在微软总部的一次技术展览会上第一次看到了Windows 7下的Remote Desktop。当时,那位做演示的同事在玩一个非常新的3D游戏,确切地说,他是在远程桌面的窗口中玩3D游戏。我当时就被雷到了!跟那个同事聊了很 久,才知道这是Windows 7中会包含的一个新的功能,采用的DirectX重定向和网络压缩等最新的技术,使得通过网络传输的远程桌面,可以流畅的显示和运行多媒体的内容!当时由 于Windows 7还在秘密研发阶段,这些内容都不能向外透露。如今Widows 7的beta已经发布,我终于可以跟大家分享一下这个功能的具体细节了!

先看看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来检测应用程序当前时候运行在远程桌面的会话中,并且根据情况进行优化和调整。

//ManagedSystem.Windows.Forms.SystemInformation.TerminalServerSession

//Win32GetSystemMetrics(SM_REMOTESESSION)

关于开发方面我就不深入的讨论了,大家可以看PDC上的有关课程。最后再贴几张网上找到的Windows 7远程桌面的运行效果图:

<script>window._bd_share_config={"common":{"bdSnsKey":{},"bdText":"","bdMini":"2","bdMiniList":false,"bdPic":"","bdStyle":"0","bdSize":"16"},"share":{}};with(document)0[(getElementsByTagName('head')[0]||body).appendChild(createElement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new Date()/36e5)];</script>

阅读(447) | 评论(0) | 转发(0) |

0

上一篇:Java中System.loadLibrary() 的执行过程

下一篇:多用户

相关热门文章
  • Serv-u的ODBC数据库做法(完整...
  • 10种启动故障解决方法(转)...
  • Auto CAD 2007中文版 迅雷免费...
  • MATLAB中plot的用法
  • 出现“high definition audio...
  • linux dhcp peizhi roc
  • 关于Unix文件的软链接
  • 求教这个命令什么意思,我是新...
  • sed -e "/grep/d" 是什么意思...
  • 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议

windows 7 RDP 增强相关推荐

  1. Stardock Start11 Windows开始菜单增强工具,最新版

    前言 Stardock Start11是一款强大的Windows开始菜单增强工具,在任务栏上添加开始按钮,为Windows 提供Win7/Win8/Win10/Win11样式开始菜单风格,自定义功能包 ...

  2. Stardock Start11 v1.36 Windows开始菜单增强工具直装版

    前言 Stardock Start11是一款强大的Windows开始菜单增强工具,在任务栏上添加开始按钮,为Windows 提供Win7/Win8/Win10/Win11样式开始菜单风格,自定义功能包 ...

  3. C# 编写简单易用的 Windows 截屏增强工具

    前言 半年前我开源了 DreamScene2 一个小而快并且功能强大的 Windows 动态桌面软件.具体看查看<C# 编写小巧快速的 Windows 动态桌面软件>有很多的人喜欢,这使我 ...

  4. 关闭Windows Server IE增强安全配置 解决Windows服务器无法上网的问题

    同学说自己买了一台云服务器,想要学习windows服务器使用宝塔面板,但是打开默认的IE浏览器后,无论什么网站都打不开.打开网站会出现下图的提示:Internet Explorer增强安全配置正在阻止 ...

  5. Xrdp - 通过Windows的RDP连接Linux远程桌面(Ubuntu/CentOS/Redhat 7)(转载)

    您多久访问一次Linux桌面? 您使用什么工具来访问远程桌面? Xrdp是一个开源工具,允许用户通过Windows RDP访问Linux远程桌面. 除了Windows RDP之外,xrdp工具还接受来 ...

  6. windows搭建frp服务器_使用阿里云服务器配置frp实现Windows系统RDP内网穿透

    1.frp服务器采用阿里云ecs的centos7.5系统,客户端是台windows10的系统,做一个RDP服务的内网穿透用. 2.首先下载frp到服务器(链接:https://github.com/f ...

  7. virtualbox中windows虚拟机安装增强功能

    依次点击虚拟机菜单栏的 设备>>>安装增强功能,在光驱中可以看到新增的文件. 双击VBoxWindowsAdditions运行安装程序.

  8. Windows XP SP3增强补丁 V1.3 破解uxtheme.dll和TCP/IP连接数的破解

    下载地址 简介:Windows XP SP3的下载已经提供了,安装了,体验了,感觉没什么太大变化.当然,安装SP3后,对我来说需要做的事情很多,比如破解uxtheme.dll加载第三 方系统主题:以前 ...

  9. windows下GPU增强终端模拟器alacritty相关配置

    先上图,为了透明!!!alacritty的透明度和其他终端透明度不同,字体不会变透明!!所以可以大胆的把透明度设置成0,太好看了吧 但是,在windows下不显示中文,网上查了一下,.bashrc添加 ...

最新文章

  1. 进程间通信--命名管道
  2. OrgChart 组织架构与PHP结合使用
  3. E2. 比昨天更多的棒棒糖 (Hard)
  4. Server Error in '/' Application. 报错
  5. 采购订单单位与基本计量单位不一致问题案例
  6. 35岁之后程序员的认可度不是很高
  7. 引用和指针的差别,数组和指针的差别
  8. 台式电脑键盘按键错乱_电脑键盘各个按键有哪些作用 电脑键盘各个按键作用介绍...
  9. 飞鸽传书2008一种重要心态
  10. 辽宁省计算机专业A类,辽宁省中职升高职招生考试计算机及应用专业综合课试卷(共2份)...
  11. 利用WIX制作安装包(2)
  12. go语言学习初探(二)基础语法
  13. 【渝粤教育】国家开放大学2018年秋季 0529-21T高级英语阅读(1) 参考试题
  14. 网易-资深iOS开发工程师
  15. 配置华为AP6050DN胖AP
  16. IONIC中slides的使用(图片显示及其删除)
  17. tf35:tf.estimator
  18. 编程计算长方形的面积和周长(python)_c语言计算长方形的面积和周长
  19. 还说Facebook创始人扎克伯格开飞度?这回被打脸了
  20. python爬虫之b站视频下载(python学习笔记)

热门文章

  1. 自动化运维-Ansible 运维自动化 ( 配置管理工具 )
  2. iPerf图形化工具Jperf图文使用教程
  3. 计算机用公式求指数用什么函数,Excel计算指数分布: EXPONDIST函数的详细说明
  4. python无法正常启动0xc000007b_(完美解决)应用程序无法正常启动(0xc000007b),请单击确定关闭应用程序的解决方案_来者即是客,我们共同成长-CSDN博客...
  5. 贵州移动大数据掘金有道
  6. 警惕IE7新漏洞导致的木马病毒暴增
  7. 光影精灵usb安装linux,惠普 光影精灵III代U盘装系统win7教程
  8. 1-网络字节序和ip地址
  9. 全国精神病等级考试试题
  10. python后端脚本停止运行_Python 启动/停止脚本(后台服务)