首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么巨大的多边形数量不好?

为什么巨大的多边形数量不好?
EN

Game Development用户
提问于 2014-08-27 12:03:37
回答 3查看 3.8K关注 0票数 1

人们总是说,当涉及到实时模拟,如电脑游戏时,单个modell的多边形数量必须尽可能少。(或者至少比渲染电影时要低)我完全意识到,为了节省性能,必须这样做。但除了这些信息,我找不到为什么必须避免巨大的多边形数量。

(简而言之:我知道多边形吃表演。我想知道为什么他们吃表演)

所以我的问题是:当一个帧被呈现时会发生什么?多边形一定是以某种方式在图形库中处理的。那里发生了什么?如果可能的话,我想有一些链接到包含这些信息的网站。

EN

回答 3

Game Development用户

回答已采纳

发布于 2014-08-27 12:10:42

每当呈现一个框架时,您的图形卡必须将每个多边形角(也称为顶点)的三维空间中的坐标转换为监视器上的二维空间。这是通过将每个顶点乘以一个投影矩阵来实现的,它表示相机的当前位置、角度和视场。

只有在这完成之后,图形卡才知道哪些多边形实际上在屏幕上,而不是在摄像机后面或隐藏在其他多边形后面。然后对每个屏幕上的多边形进行各种其他计算,比如它显示的纹理以及它是如何发光的。

这意味着您的图形卡必须对每个多边形执行多个计算。你拥有的多边形越多,它要计算的就越多。您的图形卡只能执行有限数量的计算每秒,所以更多的多边形意味着一个较低的框架。

票数 5
EN

Game Development用户

发布于 2014-08-27 14:03:21

就像菲利普说的,一个人应该总是为一个特定的目标优化你的模型。这就是说,我想添加一些关于创建3D模型的额外信息。目前,多边形不是瓶颈,而是纹理空间。由于我们烘焙了很多纹理的细节(如:漫射,正常,遮挡,光线等)和顶级显卡只能存储1GB的纹理。

当一个3D物体靠近视图时,它可以占据屏幕的大部分,这可能是1920x1280像素。如果单个对象具有1024x1024纹理,则该纹理只会部分显示,因为您只看到该对象的一部分。因此,也许512x512的纹理是实际看到的,这会被翻译成你的屏幕分辨率,从而模糊。4单个对象的1024x1024纹理(不同的映射类型)可以很容易地占用10MB。如果有人为这个对象使用一个2048x2048纹理空间或更大的纹理空间,但这将占用大约40MB,这将从一个拥有1GB内存的显卡的GDDR内存中提取4%。这仅仅是为了一个数千人的场景中的小物体。此外,这张地图和CG设计师有大量的技巧,在那里袖子重用对象和纹理。

不过,更少的多边形意味着更好的性能。而且,由于我们可以对纹理空间做这么多工作,三维艺术家专注于轮廓(模型的轮廓)。如果不添加更多的多边形,就不可能使模型的轮廓更加详细,在模型中,我们可以使用纹理来使两个多边形看起来像数千个多边形一样详细。

票数 1
EN

Game Development用户

发布于 2014-08-30 03:28:01

在少数几个关键领域,增加多边形计数会对性能产生影响:

  1. GPU可以发出新的三角形(例如,每个时钟4个),通常每个着色引擎(AMD) /图形处理集群(NVIDIA)有一个限制。如果您的GPU运行在1 1GHz,并且有4个SE/GPC,那么GPU上的绝对峰值限制为每秒40亿个三角形--通常不是瓶颈。
  2. GPU必须为每个三角形的每个顶点运行顶点着色器,因此较重的着色器的几何处理成本更高。有一个后转换的LRU缓存,它会记住一些以前处理过的顶点(GPU特定的,但它大约在32个左右)在三角形之间共享,以降低处理成本(对于索引原语),所以为这个缓存优化索引缓冲区是很重要的。
  3. 顶点着色器处理的顶点的数据必须从GPU内存中提取,并且有预转换缓存有助于减少带宽的使用。数据被取为高速缓存线(例如64字节块),因此,如果顶点数据与缓存线对齐以减少带宽使用,这是很好的。例如,顶点大小28比32差,因为有些顶点需要从内存中提取两个单身汉。此外,如果顶点大小小于cacheline (或未对齐),则预转换缓存是重新组织顶点数据以便更多地在本地访问的动机。
  4. 当您增加模型的多边形数时,您也会减少三角形的大小。这对像素处理性能有负面影响,因为GPU不处理单个像素,而是处理2x2像素的像素四元。现在,在网格化三角形之外的四边形像素被拒绝,这浪费了处理能力。这是一个性能问题,对象有许多微三角形,可能导致高达75%的浪费在像素处理。
票数 1
EN
页面原文内容由Game Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://gamedev.stackexchange.com/questions/82538

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档