CPU:

比如广泛的设备兼容性,比如上面说的精确逻辑处理,比如可以根据距离对Skinning进行LOD(如近距离角色每秒30帧Skinning,远距离角色每秒15帧Skinning),比如多Pass渲染时只需要一次Skinning(还要考虑阴影渲染的pass),等等

对于多Pass的shader,也省去了每一个pass都要做一次蒙皮的冗余操作。比如,做ShadowMap的时候,渲染深度时,算好的蒙皮结果可以直接用于后续的着色处理,而不需要再蒙皮一次。
 
GPU:
一些GPU的常量寄存器数量也不足(如都D3D9设备和GLES 2.0设备),实现GPU Skinning的时候需要额外的处理。
 
 1.烘焙的贴图过大,因为为了存储浮点数,必须使用rgbahalf的格式,这个格式每个像素有64个字节,是真彩色的两倍。假设一个小兵有1000个顶点,那么1s的动作就需要1000*64,也就是64000个字节,而正常情况下,我们小兵在2000个顶点左右,动画在5s以上,那么每个动画贴图大概就在2M以上,甚至有可能是4M。而我们有60多个兵种,这样一算竟然有240M。虽然小米超神使用了RGMB来减少每个像素的大小,但那也高达120M的动画贴图了。而我们知道,原始的骨骼动画数据其实只有几百k左右。

  2.无法计算光照,因为法线始终保持T-pos形态,在shader里面改变顶点位置的时候,无法重新计算法线。为了能够使用正常的光照计算,必须将法线也一起烘焙。幸运的是法线都是单位向量,可以采用rgba存储,但也需要大概1M左右的空间。

  3.没有动画之间的blend,为了实现blend,必须对两个动作的贴图进行采样,然后lerp。这样会导致shader里放两张4M的贴图,对手游来说还是不小的开销。
 
ref:
https://www.zhihu.com/question/67301295/answer/251770734
https://gameinstitute.qq.com/community/detail/127819

CPU 和GPUskinning对比的更多相关文章

  1. CPU的性能对比

    笔记本CPU之前的性能对比 下面的分数都是根据PerformanceTest测试的出来的结果,现在的笔记本CPU有很多种,你在购买笔记本的时候只看到CPU的型号,而且现在的CPU型号太多而且命名方式也 ...

  2. 百度VS高德:LBS开发平台ios SDK对比评测

    随着iPhone6手机的热销,目前的iOS应用开发市场也迎来了全盛时期.据了解,目前市面上已有的iOS应用基本覆盖了购物.上门服务.用车服务.娱乐等行业.而在这些iOS应用中,内置LBS服务的应用占大 ...

  3. three.js粒子效果(分别基于CPU&GPU实现)

    前段时间做了一个基于CPU和GPU对比的粒子效果丢在学习WebGL的群里,技术上没有多作讲解,有同学反馈看不太懂GPU版本,干脆开一篇文章,重点讲解基于GPU开发的版本. 一.概况 废话不多说,先丢上 ...

  4. 国内首款 FPGA 云服务器,性能是通用 CPU 服务器 30 倍以上

    版权声明:本文由薛梁原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/628340001485134638 来源:腾云阁 ht ...

  5. CPU负载过高异常排查实践与总结

    昨天下午突然收到运维邮件报警,显示数据平台服务器cpu利用率达到了98.94%,而且最近一段时间一直持续在70%以上,看起来像是硬件资源到瓶颈需要扩容了,但仔细思考就会发现咱们的业务系统并不是一个高并 ...

  6. (Matlab)GPU计算简介,及其与CPU计算性能的比较

    1.GPU与CPU结构上的对比 2.GPU能加速我的应用程序吗? 3.GPU与CPU在计算效率上的对比 4.利用Matlab进行GPU计算的一般流程 5.GPU计算的硬件.软件配置 5.1 硬件及驱动 ...

  7. 【转帖】处理器史话 | 服务器CPU市场的战役, AMD、Intel和ARM的厮杀

    处理器史话 | 服务器CPU市场的战役, AMD.Intel和ARM的厮杀 https://www.eefocus.com/mcu-dsp/377300   说完了个性鲜明的消费类电子,接下来聊一聊通 ...

  8. 服务器 CPU 100% 异常排查实践与总结

    一个执着于技术的公众号 问题背景 昨天下午突然收到运维邮件报警,显示数据平台服务器cpu利用率达到了98.94%,而且最近一段时间一直持续在70%以上,看起来像是硬件资源到瓶颈需要扩容了,但仔细思考就 ...

  9. 程序猿是如何解决SQLServer占CPU100%的

    文章目录 遇到的问题 使用SQLServer Profiler监控数据库 SQL1:查找最新的30条告警事件 SQL2:获取当前的总报警记录数 有哪些SQL语句会导致CPU过高? 查看SQL的查询计划 ...

  10. Linux2.6.11版本:classic RCU的实现

    转载自:http://www.wowotech.net/kernel_synchronization/linux2-6-11-RCU.html 一.前言 无论你愿意或者不愿意,linux kernel ...

随机推荐

  1. C# 使用NPOI生成Excel文件——合并单元格、设置Style

    using System; using System.IO; using NPOI.HSSF; using NPOI.HPSF; using NPOI.HSSF.UserModel; using NP ...

  2. Vector不推荐使用的原因

    线程安全可以自己这么用:

  3. 异常try-catch-finally与存储和JSON.parse

    捕获异常 捕获异常:处理可能出现的异常,当发生错误后,我们对它进行处理,不让程序崩溃. 异常处理 try-catch-finally try{ // 可能出现异常的:代码1 }catch(err){ ...

  4. oracle 根据排序去重取第一条

    原文转自 https://www.jianshu.com/p/d5c0a355890b,感谢作者styone分享. SELECT t.* FROM (SELECT a.*, row_number ( ...

  5. 拒绝繁忙!免费使用 deepseek-r1:671B 参数满血模型

    相信大家都已经有体验过deepseek-r1的强大推理能力,由于其网页版本免费使用的原因,用户量激增.同时据传还遭受了大量的网络攻击,这使得过程不是很流程,经常收到类似下图的问题: 同时,API服务也 ...

  6. Iceberg 待学习链接

    1.Iceberg事务特性解读 https://blog.csdn.net/naisongwen/article/details/123343566 2.FLink全链路时延-测量方式 https:/ ...

  7. Java 将 RTF 转换为Word、PDF、HTML、图片

    RTF文档因其跨平台兼容性而广泛使用,但有时在不同的应用场景可能需要特定的文档格式.例如,Word文档适合编辑和协作,PDF文档适合打印和分发,HTML文档适合在线展示,图片格式则适合社交媒体分享.因 ...

  8. FreeSql学习笔记——10.贪婪加载

    前言   FreeSql贪婪加载主要对应导航属性,将需要的数据一次加载出来,包括查询表的子表或者关联表的关联数据,用于一对一.一对多.多对一.多对多的关系数据查询,查询的时候一对一.多对一关系查询是可 ...

  9. LVGL 8.3.0常用函数快速使用

    LVGL 8.3.0使用快速上手教程(使用篇) 定义页面通用样式style // 创建页面样式 static lv_style_t style; lv_style_init(&style); ...

  10. Typecho 博客文章评论添加显示 UserAgent(UA)的功能

    本篇文章实现了为 Typecho 博客文章评论添加显示 UserAgent(UA)的功能 本功能可替代 UserAgent 插件,更美观.简洁且好看 效果显示 大概就是这样了,实际效果请看我的评论! ...