社区
游戏开发
帖子详情
我整理了一下3D渲染通道负载的几个优化方法。 请大家帮忙纠错
铜戈
2003-07-20 07:36:06
http://www.csdn.net/Develop/read_article.asp?id=19841
...全文
431
15
打赏
收藏
我整理了一下3D渲染通道负载的几个优化方法。 请大家帮忙纠错
http://www.csdn.net/Develop/read_article.asp?id=19841
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
铜戈
2003-07-24
打赏
举报
回复
那是一种做法嘛, vertexshader有一些限制, 也许有些地方就不能用, 最大的限制我想就是骨骼数量的问题吧, 96个常量寄存器, 如果放4x4的矩阵最多只能放24根, 如果放4x3矩阵最多只能放32根, 如果放quaternion加translation最多可以放48根, 但是放的骨头越多, vs的实现就越复杂. 另外也不是所有机器上都可以跑shader的. 我得文章里也推荐, 如果可能就尽量使用vertexshader + 静态VB实现. 此外又很多地方需要同屏跑很多人的, 如果每一帧每个人都要计算皮肤显然太慢了, 如果对动作连贯性要求不是很高的话(比如没有慢动作). 可以预先将皮肤的每一帧接到内存, 作缓冲, 这个时候永不用vertexshader就无所谓了, 但是必须得用动态VB了(除非静态VB放的下, 不过一般是不太可能了).
coolvoldo
2003-07-24
打赏
举报
回复
hoho
是啊
我老是考虑怎么做格斗方向的游戏
对于大量人物的考虑得太少
coolvoldo
2003-07-23
打赏
举报
回复
文章挺有价值的
我现在还在学D3D,还在实现功能中,还没开始搞优化
所以感受还不太多
另外,我对分没什么兴趣,hoho
“其实动态VB主要是给非改顶点缓冲数据的渲染操作准备的, 比如skinmesh”
我看微软的Skinmesh里面是用VertexShader做的啊
LOD还没做过,就不说了,hoho
铜戈
2003-07-23
打赏
举报
回复
coolvoldo() :
你找出的那个错误给30分够了吧 , 吼吼
铜戈
2003-07-23
打赏
举报
回复
好像修改也要审批....
铜戈
2003-07-23
打赏
举报
回复
coolvoldo:
修改如下:
1. 改变帧缓冲或者渲染目标(Render Target)的颜色深度(16 到 32 位), 如果帧速改变了, 那么瓶颈应该在帧缓冲(RenderTarget)的填充率上.
这么改看行不行.
Nownow(林子):
这个是仁者见仁智者见智的事情, 不能说根本作不到吧. 其实动态VB主要是给非改顶点缓冲数据的渲染操作准备的, 比如skinmesh. 比如场景(大的场景, 无法统统放进显存), 比如LOD.等等. 其他物件如果可能还是要尽可能的放到静态VB中, 就算是skinmesh lod之类的也可以尽量使用静态VB, 比如比较常用, 经常处于frustum中的物件, 可以放到静态VB中使用vs来渲染, 或者使用多数据流, 将不需要改变的部分如贴图坐标放到静态VB中, 需要改变的如顶点坐标, 法线放到静态VB中来渲染. LOD也可以考虑使用VS. 但是这个和游戏的类型关系很大. 所以只能说尽可能的使用静态VB. ^o^
coolvoldo
2003-07-23
打赏
举报
回复
为什么做不到啊?
我觉得dynamic vertex buffer用得并不多啊
有什么是非要dynamic vertex buffer不可的啊?
Nownow
2003-07-23
打赏
举报
回复
9. 如果可能尽量多的使用static vertex buffer代替dynamic vertex buffer
这个几乎做不到,这条应该没用吧。
其它的没法评论,还得修炼。
铜戈
2003-07-21
打赏
举报
回复
找到一个重大错误给50分, 一般错误30分. 笔误(错别字之类的) 10分. 即便是有争议的地方也有分!
铜戈
2003-07-21
打赏
举报
回复
现在已经可以看了, 通过了
只是我收集的一些技巧和经验吧, 大家给瞧瞧, 有没有什么地方错误. 以免误人子弟
Nownow
2003-07-21
打赏
举报
回复
放到另一个空间上去萨,想瞧瞧,是OpenGL的渲染管道么?我觉得看了OpenGL的状态机后就会明白了。不用其他什么文章,除非你在入管之前有特殊的处理,这才值得称道。
coolvoldo
2003-07-21
打赏
举报
回复
1. 改变帧缓冲或者渲染目标(Render Target)的颜色深度(16 到 32 位), 如果帧速改变了, 那么瓶颈应该在这里.
这句有点别扭啊,是不是“那么瓶颈应该在”“这里”还要加个词啊?
Nownow
2003-07-21
打赏
举报
回复
好贴,收藏,学习ing
铜戈
2003-07-20
打赏
举报
回复
^..^
maplexp
2003-07-20
打赏
举报
回复
这篇文章还没有审批通过,请稍后……
(说明:推荐给《程序员》杂志的文章只有没被采用,或者已经在杂志上发表了,才会审批通过。)
SIMA:面向
3D
虚拟环境的具身智能代理系统
具身智能是让AI在三维空间中感知、理解并执行任务的核心范式,其本质在于建立语言指令与物理动作之间的可解释映射。不同于端到端大模型的黑箱决策,现代具身代理强调感知-规划-执行分层架构,依托多模态输入(RGBD+语义热力图)、状态驱动的动作序列生成及原生引擎API控制,实现跨环境泛化与鲁棒交互。该技术已突破游戏仿真边界,广泛应用于数字孪生、工业运维培训、无障碍导航等场景,成为连接自然语言与真实世界操作的关键中间件。SIMA正是这一演进路径下的代表性开源可复现框架。
基于VRIF 2.0与OpenXR的Pico串流应用开发:跨平台交互与一键部署实践
在XR(扩展现实)应用开发中,跨平台适配与高效部署是开发者面临的核心挑战。OpenXR作为Khronos Group制定的开放标准API,其核心原理在于定义了一套统一的接口,使应用能够与任何兼容的XR运行时(如SteamVR、Pico Runtime)通信,从而实现了底层设备交互的抽象与解耦。这一技术价值在于彻底解决了传统开发中因深度绑定特定厂商SDK而导致的“SDK锁死”困境,为项目提供了长期的灵活性与可维护性。结合VRIF(VR Interaction Framework)这类高级交互框架,开发者可以快
H100超算工厂:10万卡GPU的算力操作系统实战解析
GPU超算并非简单堆叠硬件,而是融合物理层散热供电、链路层InfiniBand拓扑、软件层NCCL与PyTorch调度的全栈协同系统。H100作为可编程计算单元阵列,其FP8张量核心与NVLink高带宽设计重新定义了AI训练基础设施的技术边界;而Grok 3的混合专家架构则倒逼出‘零等待网络’‘权重预加载’‘故障域隔离’等工程范式升级。当前行业正从PCIe通用服务器转向H100 NVL液冷专用算力单元,对CUDA底层
优化
、PTX汇编能力及全栈协同效率提出前所未有的复合要求。
【信息科学与工程学】【数据中心】 第十四篇 智算中心算法体系规划
每个节点独立计算本地对偶变量的次梯度,通过异步通信更新对偶变量,步长选择采用自适应策略(如ηt=tη0)。:采用L1(内存缓存)、L2(SSD缓存)、L3(磁盘缓存)三级缓存架构,结合LRU/LFU算法实现动态缓存管理。:靠近用户终端(如基站、小区),仅缓存高频访问内容,部署在用户最近的网络边缘,实现"最后一公里"加速。:存储完整内容库,负责内容注入与全局调度,部署在核心数据中心,具备高带宽和高可用性设计。:基于用户IP、运营商、节点
负载
等实时数据,动态选择最优边缘节点,实现全局
负载
均衡。
Qwen3原生集成与MCP协议深度解析
大语言模型的本地化部署正从API调用迈向原生运行时集成,其核心在于推理引擎与应用环境的深度耦合。Qwen3在通义App中实现的非API式嵌入,依托自研推理引擎与动态模型调度中间件,显著降低首token延迟、增强上下文保活与意图
纠错
能力;而MCP(Model Control Protocol)作为模型级控制协议,赋予AI自主决策工具调用、容错降级与跨平台适配的能力,本质是Agent架构的协议层升级。这种‘模型即系统组件’范式,正推动端侧AI从响应式交互走向具身化执行,尤其在p5.js等轻量
渲染
环境中的物理建模
游戏开发
8,324
社区成员
23,685
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章