» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[新闻] 冯骥:水平有限XSS真心优化不来

posted by wap, platform: Chrome
引用:
原帖由 @MacPhisto  于 2025-1-4 11:50 发表
如果目标平台是steam pc,那么优化不是最大的问题,毕竟用户可以掏钱升级硬件。但如果目标是console ,那用unreal 就是作茧自缚了。这也是为什么顶级3a都是自研引擎,说白了,首当其冲,内存对象的所有权,必须在游戏开发者手中,而不是被引擎隐藏起来
233还在搁这UE不能管内存只能单线程呢,UE确实是把门槛拉太低了什么阿猫阿狗都能来锐评两句


TOP

posted by wap, platform: Chrome
引用:
原帖由 @MacPhisto  于 2025-1-5 02:10 发表
UE的uobject,aactor这些基础设施都是单线程思维。AActor::GetComponentByClass, GetComponents这些基础api更是多线程的灾难

现代多线程引擎的设计思路是ecs,强调的是数据流和代码流的并行化。不存在什么强actor,最多只有弱的entity handle。对内存的读写是在system这个级别发生,以component为单位的。system和components的依赖关系是可以在编译期确定和验证的

当然我说的这些是大体思路,不同公司的自研引擎实现方法有自己的区别。gdc上最近十年都陆续有大公司分享自己的设计,也有很多公司的设计思路并没有公开。比较典型的例子可以参考remedy在GDC 2024的ECS in Practice: The Case Board of Alan Wake 2

本帖最后由 MacPhisto 于 202515 02:12 通过手机版编辑
嗯,报了半天ECS菜名,然后举个单线程跑Lua虚拟机的例子,你是懂幽默感的



TOP

posted by wap, platform: Chrome
引用:
原帖由 @MacPhisto  于 2025-1-5 15:22 发表
我给你的这个例子是讲remedy 如何在编译期确定system 和component 的依赖性的,这个才是重点。因为很多ecs引擎对依赖性的检查是放在运行期,局限性和风险都很大。正好我们公司目前使用的自研ecs引擎就是在编译期静态检查依赖性,而我们的研发是从2020年开始的,可以说和remedy 是不谋而合
我又没和你讨论ECS该怎么写,你一上来说虚幻gamethread多线程不方便内存不可控所以UE本质单线程,然后甩过来个阿兰醒醒的例子是需要ECS停下来单线程去跑LuaVM,这不纯纯搞笑么?按你分类方式这不更加单线程内存更加不可控?更何况ECS又不止system和component的依赖这一个问题。


TOP

发新话题
     
官方公众号及微博