我赶时间 · 版
Wine + winetricks (dotnet 8 + dotnet 4.8) + 字体迁移
本文总结自 ECS back and forth: Part 4,使用生物通用神经网络翻译成简体中文,并伴有添油加醋之嫌。
文中会使用 entt 作为 ECS 库用于代码示例。
层级结构(Hierarchies)通常的做法是用一个指针来储存父子关系。在各大游戏引擎都可以见到它,或它的变种。
用 ECS 这种面向数据的编程模式来实现这种随机储存的结构,注定没有一个完美的解决方案,我们需按照实际场景来决定数据组织方式。要么使用灵活,要么性能友好,二者不可兼得。
遵循“过早的优化是万恶之源”原则,我会设立几个场景或目标,从需求出发,使用 ECS 思路来进行实现。
ECS 最终目的是在冯诺依曼存算分离的架构上,降低缓存命中失效,以实现高效的运算。
受不了了啊!指针与常量!别搁那“就近原则”了!来点从编译器视角的解析吧!
C++20 更新了 coroutine 无栈协程的接口,westquote/SquidTasks 就已经使用它在商业产品中作为逻辑框架。它提供了一个近似 javascript 异步操作的写法来构建系统:
1 | Task<int> LoadGame() { |
这种写法的好处就在于,加载过程不阻塞启动流程,且大幅减少异步回调的函数链。本文会尝试利用 Lua 原生的 Coroutine 系统,来搭建优雅的异步框架。
出自 Death Stranding Orignial Sound Track
1=D, Capo=2
First of march, it’s clear to me
It’s something that’s uncomforting
Your body has a way with me
But I’m exactly where I wanna be
But I’m a long way from home