【游戏 AI】6 - AI 与硬件的关系

本文探讨了游戏AI开发中的硬件限制,包括处理器速度、内存管理和平台差异。处理器速度的提高有利于更复杂AI算法的实现,但AI算法的执行时间仍需优化,以适应游戏的实时需求。内存问题主要关注内存分配、垃圾回收和缓存效率,内存管理对AI性能有直接影响。游戏在不同平台(PC、主机、移动端、VR/AR)上运行时,AI设计需考虑硬件兼容性和性能调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AI 开发人员工作的最大限制是机器的物理限制。游戏 AI 没有数日的处理时间和 TB 级的内存,我们甚至无法使用运行游戏的计算机的所有处理器和内存。其他任务需要空间和时间,比如图形、声音、网络和输入。在团队中,不同团队的开发人员必须同时从事他们的专业工作,CPU和内存预算通常会有严格的限制。

学术界或商业研究中的 AI 技术没有得到广泛应用的原因之一是它们的处理时间或内存需求,在一个简单的演示中引人注目的算法可能会使成品游戏直接卡死。

本节讨论与AI代码的设计和构造相关的底层硬件问题,这里所包含的大部分内容是对所有游戏代码的一般建议,如果你只是刚刚接触游戏编程,只是想了解 AI 相关内容,你可以直接跳过这篇文章,问题不大

一、处理器问题

对游戏效率最明显的限制是它所运行的处理器的速度。最初,所有的游戏机都有一个主处理器,它也负责图形处理;而现在大多数游戏硬件都有几个 CPU,以及专门用于处理图形的 GPU。

一般来说,CPU 更快更灵活,而 GPU 更并行。当一个任务可以被分割成许多简单的子任务,所有的子任务都同时运行时,GPU 上的数十到数千个处理核可以比相同的任务在 CPU 上顺序运行快数量级。

显卡驱动程序过去有固定函数的管道,其中的图形代码被内置到驱动程序中,并且只能在狭窄的参数内进行调整,因此除了显卡上的图形之外,不可能做很多其他的事情。而现在的驱动支持 Vulkan、DirectX 11、CUDA 和 OpenCL 等技术,这些技术允许通用代码在 GPU 上执行,所以更多的功能被转移到GPU,从而释放了更多的 CPU 处理能力。

在过去的 20 年里,用于 AI 的处理时间持续地增长。随着处理器速度的提高,这对于希望应用更复杂算法的 AI 开发人员来说显然是个好消息,尤其是在决策和战略制定方面。但是,尽管处理器时间的不断改进有助于开发新技术,但它们并不能解决根本问题,许多 AI 算法需要很长时间运行。一个功能全面的寻路系统会花费几十毫秒运行每个角色,很显然,在一个有 1000 个角色的 RTS 游戏中,没办法每一帧都运行。

在游戏中发挥作用的复杂 AI 需要被分解成小的组件以便进行分帧,将类似的这些技术应用于高开销的 AI 算法可以将它们带入到实际的应用中。

在过去的10年里,这个行业的一个大变化是 C++ 不再称霸游戏编程。现在,角色行为、游戏逻辑和 AI 通常是用高级语言编写的,比如 C#、Swift、Java,甚至是脚本语言比如 Python、Lua、Javascript等。这一点很重要,因为这些语言为程序员提供了更少的微操能力,比如内存管理。有 AI 程序员仍然写 C++,这需要对处理器的性能特征有着比较好的基础知识,但这样的程序员往往是致力于 AI

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值