运动书城

字:
关灯 护眼
运动书城 > 游戏制作:我要重振国产游戏 > 第101章 所谓苏学(5K)

第101章 所谓苏学(5K)

  第101章 所谓苏学(5K) (第2/2页)
  
  得来一些真功夫!」
  
  程序组安静下去。
  
  「真功夫?」渡边挑眉。
  
  苏砚承沉吟思索片刻,说:「比如我们可以在多线程、无锁编程、数据导向设计和向量化计算上,下下功夫。」
  
  他的话音一落,整个程序组直接给干沉默了。
  
  你在说什麽东西?
  
  渡边轻咳一声,乾乾脆脆,不羞不愧:「我是个煞笔,所以你能解释————不对,科普一下吗?」
  
  这一说,平均年龄三十的「资深程式设计师」们,都露出惭愧的神色。
  
  「科普?好啊!」
  
  「」
  
  苏砚承感觉需要给他们好好上一课了,「程序组的,来会议室集合吧,你们老大的编程小课堂开课了!」
  
  於是在其他组的注视下,程序组浩浩荡荡的挤到了会议室里。
  
  几十分钟过去,都不见出来。
  
  「嘿,你!」
  
  武内崇让美术组的小弟去打听一下,里边在讲什麽。
  
  小弟就开了条缝,探头进去听了几秒。
  
  出来时,表情一片情懂,挠着头开始怀疑自己的智力。
  
  别说学美术的了,就连会议室里的程式设计师。
  
  此刻都感觉自己像只卷毛狒狒。
  
  毕竟也很正常,苏砚承提出的四个优化概念,放在当今的行业水平,那就是绝对的超前理念!
  
  哪怕是约翰·卡马克这样的大神级人物。
  
  优化思路,也停留在「在单线程框架内,对代码进行极致抠细节」级别。
  
  比如做一些精简循环、减少3D渲染的多边形数量、优化显存加载之类————
  
  毕竟大环境如此,相关技术的核心关键词,还是「单核为王」、「功能优先」、「小修小补式优化」————
  
  但苏砚承提出来的呢?
  
  五个字,架构级重构!
  
  举个例子,他这就相当於。
  
  在马车时代讲汽车的发动机原理!
  
  或者在一群只会算加减乘除的数学人之间,忽然开始讲微积分!
  
  但能不能做到呢?
  
  并非完全不能,只是需要做大量的「时代适配妥协」!
  
  虽然不是理想中的完美落地,而是基於现有硬体和工具链的阉割版落地。
  
  但苏砚承觉得,放在这个时代,这也勉强够用了。
  
  程式设计师们:居然只是,勉强够用吗?
  
  会议室里。
  
  程式设计师们不敢说话。
  
  纷纷看着渡边连续不断的发问,哪怕有些问题听上去甚至像是找茬。
  
  甚至,从第一个问题,渡边和苏砚承两人就跟吵架似的。
  
  「无数的例子证明过,单核搞多线程就是浪费资源!线程切换的开销会吃掉所有效率!
  
  所以多线程在游戏环境中,其性能表现反而不如单线程,」
  
  渡边正在厉声质问:「所以你怎麽会想到这个的呢!」
  
  苏砚承笑而不语。
  
  嗯,所以是的,其实多线程的优化思路,早已有之。
  
  用开饭店来简单比喻的话。
  
  多核CPU,那就是好几个灶台,好几个厨师,能同时炒不同的菜。
  
  而单核的CPU,只有一个灶台,一个厨师。
  
  他没法同时炒两盘菜。
  
  但多线程思路下,可以让厨师先炒一下A菜,关火,再炒几下B菜,再关火,切回A菜————
  
  只不过切换速度是毫秒级别的快,所以在外人看来,就像两盘菜在同时炒。
  
  但用专业一点的角度来看,线程的切换,是有开销的。
  
  你大厨洗锅、换铲子都需要额外的时间。
  
  所以如果强行把游戏核心逻辑,拆分成多个线程来运行。
  
  不仅不会带来效率的提升,反而会让游戏变卡。
  
  这就是,当下行业的共识是:「单核搞多线程,纯属自找麻烦!」
  
  只是苏砚承更先进的想法。
  
  「那如果我不拆分核心计算,而是只拆分辅助任务,只做功能拆分的轻量多线程呢?」
  
  渡边和程式设计师眨眼:「————"
  
  苏砚承笑。
  
  听不懂了吧?
  
  没关系,咱们来细细解释。
  
  「注意这里,该记笔记了啊!」
  
  「还有看我干嘛,看黑板啊!」
  
  他重重敲黑板。
  
  众人赶紧正襟危坐,纷纷捏紧笔,认真听讲。
  
  「首先,音频播放、文件预加载、数据接收这些轻任务,其实并不会占用大量的CPU时间,甚至还要长时间的还经常等活儿干」——
  
  「比如音频线程,要等音效卡缓冲区空了,才需要运行。」
  
  「文件线程,要等硬碟读写完成,才需要处理!」
  
  苏砚承说,「而当我们将它们拆成独立线程後,负责渲染和逻辑的主线程在等待硬体响应的间隙,这部分间隙的时间,我们就可以分给辅助线程。」
  
  相当於厨师炒主菜的间隙,顺手切个配菜,完全不耽误主菜进度,还能提高厨房的整体效率。
  
  很简单的道理,只不过如今的开发者,不清楚哪些任务适合做线程拆分,而哪些不适合。
  
  所以做出来後,反而线程冲突、性能反而下降。
  
  说出来,很简单。
  
  但听完之後,会议室内全体还是感到剧烈的震撼。
  
  大家都是有点资历的程式设计师了,可但感知到全新的知识和思路时。
  
  还是如第一趟编程课,打出「helloworld」般兴奋。
  
  甚至有人的眼里,已经能看出粉色的桃心和花痴的表情。
  
  苏砚承接着讲下一题。
  
  「而至於「数据导向设计」?」
  
  这大概是这个时代下,最好实现的方案。
  
  还是举个例子。
  
  传统的数据包,相当於一个,给每个学生发一个大书包。
  
  书包里装了课本、文具、零食、衣服————
  
  误,那如果计算机运行程序,忽然需要找某个数据,要找全班的数学课本,那就得挨个翻书包0
  
  而数据导向设计,就是把全班的数学课本放一个箱子,文具放另一个箱子。
  
  计算机想拿课本,直接抱课本箱子,再也不用挨个翻。
  
  但对1996年的人来说,他们只觉得一个学生一个书包,多方便,而且还不占空间!
  
  但有了银河算法,苏砚承就可以大胆的分箱子了!
  
  程式设计师们面面相觑,面露惊色。
  
  「既不用改硬体,也不用加代码,只是换个数据的摆放方式————」
  
  「就能轻松完成性能的提速!」
  
  「所以我们之前,到底在做什麽啊?」
  
  有人更是摩拳擦掌,只想顺着这个思路实践一下。
  
  苏砚承「咚咚咚」的敲了敲白板,」好的,还有没听懂的吗?」
  
  「所以我们要怎麽做这个分装箱子呢?」
  
  苏砚承「嘿嘿」一笑。
  
  众人顿感不妙。
  
  「那就是我们不再满足於只在内存方面做文章。」
  
  苏砚承说,「而是直接绕过内存,深入到CPU的缓存里。」
  
  嗯,毕竟道理也很简单。
  
  「————我们都知道,内存的读写速度,比硬碟快数百倍,但cpu的缓存又是内存的数百倍。」
  
  「这些缓存虽然小,但离核心更进,只要利用好他们,带来性能提升绝对是数量级的!」
  
  "
  
  一句出,满座皆寂然。
  
  现在算是知道,什麽叫,语不惊人死不休了。
  
  总之,相比《边缘行者》,苏砚承提出了更深入更底层的优化方案。
  
  毕竟不能什麽只靠银河算法来兜底,不是吗?
  
  只是难度提升了很多罢了。
  
  LOD、法线贴图、动态加载————
  
  这些简直就像赛车改装界的常规操作。
  
  改改轮胎,加个碳纤维板,贴个豪车的车标级别。
  
  但苏砚承说的这些?
  
  哥们已经是在改四驱系统、装智能差速器、重构重心、加涡轮了。
  
  所以在这个大家还在琢磨怎麽给家用车省油的时代。
  
  合着你已经在画F1赛车的设计图了是吧!
  
  」
  
  对众人的叹服和称赞,苏砚承笑而不语。
  
  而他想要的,可不止这些!
  
  出了会议室後,程式设计师们还在狂热地讨论。
  
  像是受到了宗门掌门的传功和教导。
  
  焚诀的秘密,已经对他们展开!
  
  只待未来大成,必将成为修行界响当当的人物!
  
  「理察,现在恒星网有多少用户了?」
  
  苏砚承却已经找到了自己的运营官。
  
  「星汉嘉年华後吗,已经突破十万用户大关了!」理察特兴奋地直接说。
  
  都不用翻数据,他天天都在看数据自嗨。
  
  「啧!」
  
  苏砚承却摇摇头。
  
  他看了看永无止境的经验条,那麽增长如杯水车薪的理解度。
  
  「还不够啊————」
  
  「哈?」
  
  「想要惊艳世界的话,我们还需要一场更大的,受众更广的活动啊。」
『加入书签,方便阅读』
热门推荐
陈黄皮叶红鱼 黎明之剑 韩三千苏迎夏全文免费阅读 云若月楚玄辰 麻衣神婿 武炼巅峰 史上最强炼气期 遮天