Desktop

Unity computes shadow map sizes this way:

Unity计算阴影贴图大小是这样的:

First light's "coverage box" on the screen is computed. This is what rectangle on the screen the light possibly illuminates:

首先计算屏幕上灯光的覆盖范围,这可能是屏幕上灯光照亮的矩形范围:

For Directional lights that is the whole screen.

对于平行光是整个屏幕。

For Spot lights it's the bounding rectangle of light's pyramid projected on the screen.

聚光灯是屏幕上圆锥型投影的包围矩形(圆锥投影是在矩形范围内)。

For Point lights it's the bounding rectangle of light's sphere projected on the screen.

点光源是屏幕上球形投影的包围矩形(球形投影是在矩形范围内)。

Then the larger value of this box' width & height is chosen; call that pixel size.

然后这个盒的宽和高较大的值被选择;调用像素大小。

At "High" shadow resolution, the size of the shadow map then is:

"高"阴影分辨率,阴影贴图的大小是:

Directional lights: NextPowerOfTwo( pixel size * 1.9 ), but no more than 2048.

平行光源: NextPowerOfTwo( pixel size * 1.9 ),但不超过2048。

Spot lights: NextPowerOfTwo( pixel size ), but no more than 1024.

聚光灯:NextPowerOfTwo( pixel size ),但不超过1024。

Point lights: NextPowerOfTwo( pixel size * 0.5 ), but no more than 512.

点光源:NextPowerOfTwo( pixel size * 0.5 ),但不超过512。

When graphics card has 512MB or more video memory, the upper shadow map limits are increased (4096 for Directional, 2048 for Spot, 1024 for Point lights).

当显卡有512MB或更多的显存,阴影贴图的上限倍增(4096 为平行光, 2048 为聚光灯, 1024 为点光源)。

At "Medium" shadow resolution, shadow map size is 2X smaller than at "High" resolution. And at "Low" resolution, it's 4X smaller than at "High" resolution.

"中"阴影分辨率,阴影贴图大小2倍小于"高"分辨率。"低"阴影分辨率,阴影贴图大小4倍小于"高"分辨率。

The seemingly low limit on Point lights is because they use cubemaps for shadows. That means six cubemap faces at this resolution must be in video memory. They are also quite expensive to render, as potential shadow casters must be rendered into up to six cubemap faces.

点光源看上去很低的限制是因为它们为阴影使用cubemap贴图。这意味着着,在显存中有cubemap六面贴图。这使渲染十分消耗性能,作为潜在的阴影投射需要渲染到cubemap的六面。

Shadow size computation when running close to memory limits

当运行时接近显存限制时,阴影大小计算

When running close to video memory limits, Unity will automatically drop shadow map resolution computed above.

当运行接近显存限制时,Unity将自动降低阴影分辨率。

Generally memory for the screen (backbuffer, frontbuffer, depth buffer) has to be in video memory; and memory for render textures has to be in video memory, Unity will use both to determine allowed memory usage of shadow maps. When allocating a shadow map according to size computed above, it's size will be reduced until it fits into (TotalVideoMemory - ScreenMemory - RenderTextureMemory) / 3.

一般来说屏幕内存(前台缓冲,后台缓冲,深度缓冲)是在显存中;以及渲染纹理内存也是在显存中;Unity想使用这两项来确定阴影贴图的显存使用量。根据上面计算的大小分配阴影贴图时,它的大小将减小,直至适合。 (总显存 - 屏幕内存 - 渲染纹理内存) / 3。

Assuming all regular textures, vertex data and other graphics objects can be swapped out of video memory, maximum VRAM that could be used by a shadow map would be (TotalVideoMemory-ScreenMemory-RenderTextureMemory). But exact amounts of memory taken by screen and render textures can never be determined, and some objects can not be swapped out, and performance would be horrible if all textures would be constantly swapping in and out. So Unity does not allow a shadow map to exceed one third of "generally available" video memory, which works quite well in practice.

假设所有标准纹理,顶点数据和其他图形物体可以换出显存,阴影贴图可使用的最大显存(总显存 - 屏幕内存 - 渲染纹理内存)。但屏幕和渲染纹理使用确切内存永远不能确定,并且一些物体不能被换出,如果所有纹理不断换进换出,影响性能是非常可怕的。因此,Unity不允许阴影贴图超可用显存三分之一,这在实践中工作的很好。

android查看显存大小,Shadow Size Computation 阴影大小计算相关推荐

  1. 计算机怎么看显卡内存容量,Win10系统显卡显存大小怎样查看?Win10查看显存大小的两种方法...

    对于十分关心电脑配置的用户而言,查看电脑显卡显存大小是一件非常必要的事情.那么,Win10系统电脑该怎样查看显卡显存大小呢?虽然现在有很多软件都可以直接查看,但是不使用软件查看才是真正的好方法.下面, ...

  2. Python 查看显存大小

    背景:因为一些需求,需要在python程序中查看显存的占用情况. 1.安装NVML库 pip install nvidia-ml-py 2.使用 import pynvml pynvml.nvmlIn ...

  3. pytorch如何查看显存利用情况

    最近搞LSTM优化,但是显存利用率不稳定,想看一下LSTM的显存占用情况,搜罗了一通,发现一个不错的开源工具,记录分享一下. 首先上项目地址:https://github.com/Oldpan/Pyt ...

  4. amd显卡Linux查看显存,通过软件查看显存参数_显卡_显卡技术应用-中关村在线

    通过软件查看显存参数 说了这么多深奥的东西,相信各位读者也看腻了,所以接下来来点干货,我来教教DIY初学者如何查看显卡的显存参数.需要的软件就一个,那就是显卡最强检测软件--GPU-Z,这款软件可谓是 ...

  5. python查看显存占用情况以及使用numba.cuda释放显存

    一.python查看显存占用情况 # pip install pynvml def nvidia_info():nvidia_dict = {"state": True," ...

  6. win8 查看 linux硬盘大小,如何查看显存大小_win8如何查看显存大小

    2017-01-04 13:57:08 你好哦.同时按下电脑键盘的win键(窗口键)和R键,跳出运行窗口,在运行窗口输入dxdiag,然后点击确定,在弹出的窗口点击上方的显示选项卡!注意调出这个对话窗 ...

  7. Nvidia显卡怎样查看显存大小及硬件相关信息

    在电脑上安装Nvidia显卡驱动,平时也会通过Nvidia控制面板来查看显示显存位宽及宽带.显示显存容量和显示显存芯片信息等等,那么该如何查看Nvidia显存大小以及Nvidia硬件相关信息呢? 1. ...

  8. Linux如何查看显存

    (以下内容由参看资料总结而来,若有不对,望指出) 用ctrl+alt+t打开终端,输入命令:lspci,得到如下(部分): 00:1f.6 Signal processing controller: ...

  9. ubuntu查看显存占用信息

    nvidia-smi命令可以输出显存占用进程: # 查看某一时刻的显卡使用情况 nvidia-smi# 为了实时显示显卡的使用情况,可以添加参数,每隔5秒刷新一次使用情况; watch -n 5 nv ...

  10. Linux 查看显存带宽,Vega 20规格与Vega 10相近,显存带宽翻倍,但目前只能跑Linux - 超能网 - IT帮...

    AMD在Next Horizon大会上发布了全球首款7nm GPU Vega 20,在331mm2的核心面积中集成了132亿晶体管,并且支持PCI-E 4.0,与上代产品相比在相同功耗情况下,性能提升 ...

最新文章

  1. 最牛X的GCC 内联汇编
  2. Psych101(part3)--Day3
  3. python画图表的库_「Python」python绘制图表
  4. JDK8之新特性扩展篇
  5. 基于Spring Security的认证方式_编程理解PasswordEncoder工作原理_Spring Security OAuth2.0认证授权---springcloud工作笔记125
  6. cogs 1111. 最短路
  7. 保研夏令营、考研复试个人升学简历模板与制作注意事项
  8. 概率图模型--马尔可夫随机场
  9. 计算机工作面试需要准备什么,视频面试手机还是电脑 面试前的准备工作要做好...
  10. 2019测试指南-web应用程序安全测试(二)指纹Web应用程序
  11. C#的AES加密解密(ECB)
  12. 【LeetCode系列】LCP 25. 古董键盘(一道动态规划困难题)
  13. 如何快速从国外官网下载软件
  14. 微信客服接口 报错40003
  15. 长生诀linux架设教程,手游【长生诀】VM一键即玩服务端+GM工具+图文教程
  16. 初始Spring(贰)
  17. Python之数据载入、存储及文件格式
  18. IT人理科男不懂浪漫?事实真的是这样吗?
  19. 如果你把每一天都当作生命中最后一天去生活的话,那么有一天你会发现你是正确的
  20. 基于Qt的QQ局域网聊天

热门文章

  1. 【笔记】基于TF-IDF 算法的文本相似度以衡量技术革新
  2. 【Redis】Redis常用命令
  3. 调用excel加载项实现多元回归方程求解
  4. 如何看计算机系统是x86,win10系统的电脑怎么判断应该安装x86还是x64的软件
  5. 软件工程专业毕业计算机水平,软件工程专业很“霸气”,不管985还是“二本”,毕业几乎都高薪就业...
  6. SSD接口类型小知识
  7. DNX451 与 DNXCORE50 获取当前应用程序目录
  8. 京东后台->京东商智uuid算法
  9. 如何软著办理,软著申请步骤,软著办理流程
  10. linux下删除一个环境变量,Linux 添加环境变量和删除环境变量