开发者社区
翻译:赵菁菁(轩语轩缘)审校:李笑达(DDBC4747)从我们上次结束的地方继续,今天我想介绍一些想法,关于如何设计能让我们进行无状态渲染的API。在讨论如何设计无状态渲染API之前,让我们先来看看有状态渲染API通常如何执行它的任务。传统的、有状态的渲染这是每个人都知道的一种渲染:你在这里设置了几个状态,提交了一个绘制调用,设置了一些状态,提交了一个绘制调用,等等。通常,这看上去有点像下面的步骤
翻译:赵菁菁(轩语轩缘)审校:李笑达(DDBC4747) 在这篇文章中,我想描述一下在现代渲染系统中我所期望的特性和性能特点:它应该支持无状态渲染,支持在不同的层/桶中渲染,还可以在尽可能多的内核上并行运行渲染。 最近我一直在考虑如何有效地实现这样一个渲染系统,在我去实现整个系统
一审视现状(优化前)图1枪神纪简化架构图(简化版)背景介绍: 枪神纪是一款第三人称炫酷射击游戏,服务器采用分区分服的方式,目前规划一个大区承载20w人。客户端使用虚幻3,服务器的单局进程使用虚幻3专属服务器[1]。公司内诸多ACG类游戏都采用了Lobby + DBSvr + 单局进程的方式。例如CF, LOL,逆战[2], 枪神纪等。这类架构的游戏的瓶颈往往在承载主要游戏逻辑的单局进程上(基本上都是CPU Bound)。 据了解,承载单局进程的单物理机承载人数较低,均不超过1000人。如何管理这