POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 2536|回复: 17
打印 上一主题 下一主题

Beyond DirectX 10 - A glance at DirectX 10.1节选翻译及求教

[复制链接]
跳转到指定楼层
1#
发表于 2008-8-7 12:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这是小弟自己翻译的,不太懂的专业词汇在译文后用括号标出,希望各位达人不吝赐教:a)
      
One of the main improvements touted by Microsoft in DirectX 10.1 is improved access to shader resources - In particular, this involves better control when reading back samples from multi-sample anti-aliasing.  In conjunction with this, the ability to create customised downsampling filters will be available in DirectX 10.1.
微软在DX10.1中主要推广的改进之一就是对渲染资源读取的能力的提升,这一点尤其包括了在多重采样的抗锯齿中对读取采样信息的更加有效的控制。利用这项特性,DX10.1将可以进行可以按要求定制的downsampling过滤操作。

Floating point blending also gets some new functionality in DirectX 10.1, more specifically when used with render targets - New formats for render targets which support blending will be available in this iteration of the API, and render targets can now be blended independently of one another.
浮点混合(Floating point blending)在DX10.1中也增加了一些新功能,尤其是在与渲染对象(render targets)一起使用时。新的渲染对象格式将支持浮点混合,这将在DX10.1中可使用,并且渲染对象现在可以单独相调配

Shadows never fail to be an important part of any game title's graphics engine, and Direct3D 10.1 will see improvements to the shadow filtering capabilities within the API, which will hopefully lead to improvements in image quality in this regard.
阴影一直都是游戏引擎里的重要部分,DX10.1将在API内部提升阴影过滤的效能,这将很有可能导致画质在这方面的提升

On the performance side of things, DirectX 10.1 will allow for higher performance in multi-core systems, which is certainly good news for the ever growing numbers of dual-core users out there.  The number of calls to the API when drawing and rendering reflections and refractions (two commonly used features in modern game titles) has been reduced in Direct3D 10.1, which should also make for some rather nice performance boosts.  Finally, another oft-used feature, cube mapping, gets its own changes which should help with performance, in the form of the ability to use an indexable array for handling cube maps.
在性能提升方面,DX10.1将大大提高多核系统的性能,这当然是多核系统用户的福音。对API的调用呼叫(calls to the API)在进行描绘及渲染反射及折射(两种游戏中常用的功能)被减少了,这会使性能有相当的提升。最后,常用的功能——立方贴图在DX10.1中得到提升性能的改进,这项改进是可使用可索引阵列来处理立方贴图。

Additions over DirectX 10

One of the major additions which will impact image quality in DirectX 10.1 regards precision, in a couple of different disciplines.  Firstly, this revision of the API will see the introduction of 32-bit floating-point filtering over the 16-bit filtering currently on show in DirectX 9 and 10 - This should see improvements to the quality of High Dynamic Range rendering which use this functionality over what is currently available.  On top of this, overall precision throughout the rendering pipeline will also be increased, although to what level doesn't seem to have been publically specified at present.  These increases in precision could make for an interesting challenge for the graphics IHVs, as it seems likely they'll be needing to spend a large number of transistors in future parts just to match these new requirements, let alone ekeing decent performance out of their GPUs when dealing with higher precisions than those we have seen thus far.
DX10.1影响画质的主要增进之一就是精度,用很多不同的准则衡量均是如此。首先,这个版本的API将在现行DX9与DX10的16位精度的基础上增加32位精度的浮点过滤(floating-point filtering),使用这项技术,比以前的DX将提升HDR的画质。除此之外,整个渲染流水线的精度都将提升,尽管仍然不知道这一点会在多大的程度上公布于众。如此的改进会给GPU提供商(graphics IHVs)造成很大的挑战,因为看上去他们将要花费大量的晶体管来达到这项特性的要求,以便GPU在处理比现在高的精度运算时可维持不错的性能。

Again looking towards improvements on the image quality front, DirectX 10.1 will also see the introduction of full application control over anti-aliasing.  This will allow applications to control the usage of both multi-sample and super-sample anti-aliasing, as well as giving them the ability to choose sample patterns to best suit the rendering scenario in a particular scene or title.  Finally, these changes in DirectX 10.1 give the application control over the pixel coverage mask, a mask which is used to help to quickly approximate sampling for an area of pixels.  This in particular should prove to be a boon when anti-aliasing particles, vegetation, scenes with motion blur and the like.  All of this additional control handed to the application could allow for anti-aliasing to be used much more wisely and effectively, and controlled by game developers themselves, rather than the current 'all or nothing' implementation available, which basically amounts to a simple on-off switch.
让我们再一次将目光聚焦在画质提升上来:DX10.1将在抗锯齿上给予程序更完全的控制权。这项改进将允许程序控制对超采样和多采样抗锯齿的使用程度。此项特性同时允许程序去选择采样模式,使之最适合和当前游戏中的事件进程的渲染,即采样块最适合当前渲染对象所处的环境。最后,这项改进将允许程序控制像素覆盖面(the pixel coverage mask,),而像素覆盖面会被用于快速有效的对一个区域的像素近似取样。这尤其对微粒,植被,动态模糊做抗锯齿大有裨益。所有这些将抗锯齿控制权给予程序的改进将使得抗锯齿被使用的更加得当和有效,并且为游戏开发者所掌控,而不是现在的简单的就像一个开关一样的控制方式。
PSthe pixel coverage mask实在是不知道怎么译,求各位大虾指导

To add further to the additional focus on anti-aliasing in DirectX 10.1, support for a minimum of four samples per pixel (in other words, 4x anti-aliasing) is now required (Although this doesn't necessarily mean that support for 2x anti-aliasing in hardware and drivers is a thing of the past).
诺以更加长远的眼光关注DX10.1中的抗锯齿,会发现它最小只提供对4X 抗锯齿提供支持(尽管这并不是意味着对2X抗锯齿提供硬件和驱动的支持是过时的)



WDDM 2.1

Lastly, we come to one final major change which will be seen in DirectX 10.1 - Whereas DirectX 10 will see the introduction of support for WDDM (Windows Driver Display Model) 2.0, DirectX 10.1 moves this on a step as the driver model moves up to 2.1.  Again, be sure to have read our look at WDDM 2.0 before you proceed to understand what this driver model is all about.  Needless to say, WDDM 2.1 does everything WDDM 2.0 does, but with a couple of significant additions, mainly aimed at improving performance on DirectX 10.1 capable GPUs further still.
最后,我们来关注DX10.1的最终极的改进——DX10引进对 WDDM (Windows Driver Display Model) 2.0的支持,而DX10.1前进了一步,支持2.1。无需赘言,WDDM2.1可以做2.0可以做的一切的事,更加入了一系列的重要改进,意旨在于提升支持DX10.1的GPU的性能。

First on the list for WDDM 2.1 is further improvements to context switching abilities - This was improved significantly with the introduction of WDDM 2.0, where context switching could be performed after processing a command or triangle (compared to what is required prior to WDDM 2.0, where whole buffers needed to be completely worked through before a context switch could be performed).  With WDDM 2.1 however, context switching can now be performed instantly.  This means that a context switch is guaranteed when requested with WDDM 2.1, which isn't necessarily the case under WDDM 2.0 when long shaders or large triangles are being processed, whilst retaining the same average switching time between 2.0 and 2.1.
首先入目的是对任务转换功能(context switching abilities)的提升,这是在WDDM2.0的基础上的重要改进。在WDDM2.0中任务转换将在处理一个指令或三角形后发生(比较一下之前的WDDM2.0需要做什么:在进行任务环境转化之前,所有的缓存都需要完全的worked through (刷新?))。然而在WDDM2.1之中任务环境转换可以即时发生。这意味着在WDDM2.1中,任务转换是被保证的(a context switch is guaranteed ),不过这在WDDM2.0下并非是必要的事项——当在处理一个很长的渲染程序或一个很大的三角形时,2.0与2.1两者平均转化时间依旧不变。






[ 本帖最后由 complexmind 于 2008-8-7 12:39 编辑 ]
2#
 楼主| 发表于 2008-8-7 12:32 | 只看该作者

Due to the amount of threads in use and work being done in parallel at any one time on a GPU, efficient context switching (which basically involves switching between the various threads the hardware is working on) is a vital part of processing work on a GPU, so the removal of as much overhead as possible when context switching is most welcome.  This is all the more important under Windows Vista, as the possibility of the GPU having to work on more than one application that requires graphics rendering in some shape or form becomes greater, and thus the need to shift seamlessly between different rendering workloads without one application taking up all of the GPU's rendering time increases further still.
由于在同一时刻GPU内部有大量的平行线程在工作,有效的任务转换(即简单的在硬件正在工作的多个线程之间转换)是GPU处理任务时必不可少的部分,所以当任务转换时尽可能的减少所用的硬件效能上的开支是最好不过了。这在WindowsVista下十分重要,因为GPU需要同时运行不同程序的可能性大于在运行一个程序时需要对某一个部分或物体做更多的渲染的可能性,这就使“需要无缝的在不同的渲染工作中转换,而不是一个程序占用GPU所有的渲染时间与资源”的要求比原来更多



The other major addition to WDDM 2.1 is a change to the way the GPU and its driver handles page faults - In WDDM 2.0, a page fault (i.e. a request for data that is not currently loaded into memory) triggers a rather long-winded process, which involves the GPU stalling, informing the Operating System of the missing page, and then restarting again once the correct page (piece of data) has been loaded into memory.  In WDDM 2.1, things are handled far more gracefully, thanks to the GPU having additional support to handle page faulting and virtual memory allocated on a per process basis.  This means that when a page fault crops up, the GPU doesnt have to stall, and instead the improved context switching capabilities we mentioned earlier are put to good use to switch to the next item on the agenda that needs to be worked on rather than sitting around idly waiting for the correct data to be made available.
另外一个主要的改进就是WDDM2.1改变了GPU应付页面错误的方法,在WDDM2.1中,一个页面错误(既要求的数据没有及时的读入显存)将会触发一个冗长的操作:GPU将完全停下来,告诉OS那个丢失的页面文件,然后在此页面文件读入显存之后再开始工作。在WDDM2.1之中,事情将被从容不迫的处理,多亏了GPU有对处理页面文件错误的支持和按照每次操作而来分配的实际内存(virtual memory allocated on a per process basis)这就是说,当一个页面错误发生时,GPU不会停下来,上文提及的那个任务转换将发挥作用,正好用来将GPU转换到对进程中下一个项目进行处理的工作上,而不是傻等着正确的数据变为可用

自己手工翻译,水平有限,括号里的词都是不知怎么翻的,希望达人大虾不吝赐教,小弟先谢谢了:a)
原文在wepcinlife可查,我是直接复制粘贴下来的
回复 支持 反对

使用道具 举报

3#
 楼主| 发表于 2008-8-7 12:37 | 只看该作者
virtual memory allocated on a per process basis
context switching
the pixel coverage mask
downsampling
主要这几个翻译不能:a) :a)
求大虾指导一下这些是什么意思
回复 支持 反对

使用道具 举报

4#
发表于 2008-8-7 12:41 | 只看该作者
{mellow:] 强大的技术贴 顶下
回复 支持 反对

使用道具 举报

5#
发表于 2008-8-7 12:45 | 只看该作者
基于每个进程的虚存分配
上下文切换
点覆盖mask(mask 是一种基于矩阵的实空间滤波器)找不到中文对应
向下采样(和upsampling 对应,也是图像处理术语)
回复 支持 反对

使用道具 举报

6#
发表于 2008-8-7 12:47 | 只看该作者
In signal processing, downsampling (or "subsampling") is the process of reducing the sampling rate of a signal. This is usually done to reduce the data rate or the size of the data.
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2008-8-7 13:40 | 只看该作者
哦,谢谢咯:)
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2008-8-7 14:11 | 只看该作者
原帖由 tomsmith123 于 2008-8-7 12:45 PM 发表
基于每个进程的虚存分配
上下文切换
点覆盖mask(mask 是一种基于矩阵的实空间滤波器)找不到中文对应
向下采样(和upsampling 对应,也是图像处理术语)

上下文切换也就是在各个进程之间切换吧?
回复 支持 反对

使用道具 举报

9#
发表于 2008-8-7 14:15 | 只看该作者
甘长,稳鬼睇罗
回复 支持 反对

使用道具 举报

10#
发表于 2008-8-7 14:24 | 只看该作者

回复 8# complexmind 的帖子

恩。一般是进程的上下文,对于GPU 来说,也有线程上下文的概念。
回复 支持 反对

使用道具 举报

11#
发表于 2008-8-7 16:53 | 只看该作者
{victory:] {lol:] 顶下.
回复 支持 反对

使用道具 举报

12#
 楼主| 发表于 2008-8-8 23:07 | 只看该作者
原帖由 feel囝 于 2008-8-7 02:15 PM 发表
甘长,稳鬼睇罗

什么意思啊,一直没看懂:a)
回复 支持 反对

使用道具 举报

13#
 楼主| 发表于 2008-8-8 23:09 | 只看该作者
对了,还有那个 work through 什么意思?
就是这句话: whole buffers needed to be completely “worked through” before a context switch could be performed
谢谢了:a)

[ 本帖最后由 complexmind 于 2008-8-8 23:11 编辑 ]
回复 支持 反对

使用道具 举报

14#
 楼主| 发表于 2008-8-9 09:02 | 只看该作者
顶一下{blush:]
回复 支持 反对

使用道具 举报

15#
 楼主| 发表于 2008-8-10 22:06 | 只看该作者
原帖由 complexmind 于 2008-8-8 11:09 PM 发表
对了,还有那个 work through 什么意思?
就是这句话: whole buffers needed to be completely “worked through” before a context switch could be performed
谢谢了:a)

没有人知道么?{cry:]
回复 支持 反对

使用道具 举报

16#
发表于 2008-8-10 23:54 | 只看该作者
就是 跑完 。
回复 支持 反对

使用道具 举报

17#
 楼主| 发表于 2008-8-20 19:01 | 只看该作者
原帖由 Edison 于 2008-8-10 11:54 PM 发表
就是 跑完 。

缓存的“跑完”是什么意思啊?是全部读取一遍么?感觉只有任务可以说是跑完的。。。。。{blush:]

[ 本帖最后由 complexmind 于 2008-8-23 22:21 编辑 ]
回复 支持 反对

使用道具 举报

18#
 楼主| 发表于 2008-8-23 22:22 | 只看该作者
没有人能告诉我么{blush:] {blush:] 。。。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2024-11-24 19:21

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表