随笔分类 - 游戏架构&游戏设计模式
摘要:这次的主题主要是利用线程级并行减少 CPU-bound,从多线程的角度出发 CPU-bound 与 memory-bound float 类型的计算类耗时: 1次float乘法 ≈ 1次float减法 ≈ 1次float加法≈ 4次float加法(SIMD优化成功)≈ 32次float加法(CPU有
阅读全文
摘要:2022.5.30 已更新,下一篇并行架构也在路上了,包含 Parallel For,TBB,Job System,Asycn Compute 的多线程渲染模型等话题,下下篇则是 GPU Driven 随着软件需求的日益复杂发展,远古时期的面向过程编程(POP)思想才渐渐萌生了面向对象编程思想。当人
阅读全文
摘要:目录内存总览内存分页与虚拟内存机制多级页表与 TLB内存交换(Swap)zRAM移动端虚拟内存虚拟内存分配mmap & munmapmalloc & freenew & delete内存分配潜在的问题内存泄露内存碎片 & 内存扩散内存地址对齐多线程环境内存分配策略内存地址对齐特定大小多线程安全分配器
阅读全文
摘要:黑板(Blackboard) “黑板”(Blackboard)在人工智能领域已经是一个很古老的东西了。它基于一种很直观的概念,就是一群人为了解决一个问题,在黑板前聚集, 每个人都可以发表自己的意见,然后在黑板上写下自己的看法,当然你也可以基于别人记录在黑板上的看法, 来发表和更新自己的看法,在这样不
阅读全文
摘要:前言:状态机模式是一个游戏常用的经典设计模式,常被用作管理一种物体的各种状态(例如管理人物的行走,站立,跳跃等状态)。 (Unity里的Animator就是一种典型的状态机,用于控制动画状态之间的切换) 假如我们正在开发一款动作游戏,当前的任务是实现根据输入来控制主角的行为——当按下B键时,他应该跳
阅读全文
摘要:前言: 本文将探讨单例设计模式,单例类的懒汉模式/饿汉模式,单例类的多线程安全性,最后将利用C++模板减少单例类代码量。 本文假设有一个Manager管理类,并以此为探究单例类的设计模式。 懒汉模式 懒汉模式:顾名思义,是一种典型的拖延(lazy)策略。当第一次要用单例类的时候,再产生实例。 类声明
阅读全文