返回目录
关灯 护眼
加入书架

第102章 所谓苏学(5K)(2 / 2)

“”

苏砚承感觉需要给他们好好上一课了,“程序组的,来会议室集合吧,你们老大的编程小课堂开课了!”

於是在其他组的注视下,程序组浩浩荡荡的挤到了会议室里。

几十分钟过去,都不见出来。

“嘿,你!”

武內崇让美术组的小弟去打听一下,里边在讲什么。

小弟就开了条缝,探头进去听了几秒。

出来时,表情一片情懂,挠著头开始怀疑自己的智力。

別说学美术的了,就连会议室里的程式设计师。

此刻都感觉自己像只捲毛狒狒。

毕竟也很正常,苏砚承提出的四个优化概念,放在当今的行业水平,那就是绝对的超前理念!

哪怕是约翰卡马克这样的大神级人物。

优化思路,也停留在“在单线程框架內,对代码进行极致抠细节”级別。

比如做一些精简循环、减少3d渲染的多边形数量、优化显存加载之类————

毕竟大环境如此,相关技术的核心关键词,还是“单核为王”、“功能优先”、“小修小补式优化”————

但苏砚承提出来的呢

五个字,架构级重构!

举个例子,他这就相当於。

在马车时代讲汽车的发动机原理!

或者在一群只会算加减乘除的数学人之间,忽然开始讲微积分!

但能不能做到呢

並非完全不能,只是需要做大量的“时代適配妥协”!

虽然不是理想中的完美落地,而是基於现有硬体和工具链的阉割版落地。

但苏砚承觉得,放在这个时代,这也勉强够用了。

程式设计师们:居然只是,勉强够用吗

会议室里。

程式设计师们不敢说话。

纷纷看著渡边连续不断的发问,哪怕有些问题听上去甚至像是找茬。

甚至,从第一个问题,渡边和苏砚承两人就跟吵架似的。

“无数的例子证明过,单核搞多线程就是浪费资源!线程切换的开销会吃掉所有效率!

所以多线程在游戏环境中,其性能表现反而不如单线程,”

渡边正在厉声质问:“所以你怎么会想到这个的呢!”

苏砚承笑而不语。

嗯,所以是的,其实多线程的优化思路,早已有之。

用开饭店来简单比喻的话。

多核cpu,那就是好几个灶台,好几个厨师,能同时炒不同的菜。

而单核的cpu,只有一个灶台,一个厨师。

他没法同时炒两盘菜。

但多线程思路下,可以让厨师先炒一下a菜,关火,再炒几下b菜,再关火,切回a菜————

只不过切换速度是毫秒级別的快,所以在外人看来,就像两盘菜在同时炒。

但用专业一点的角度来看,线程的切换,是有开销的。

你大厨洗锅、换铲子都需要额外的时间。

所以如果强行把游戏核心逻辑,拆分成多个线程来运行。

不仅不会带来效率的提升,反而会让游戏变卡。

这就是,当下行业的共识是:“单核搞多线程,纯属自找麻烦!”

只是苏砚承更先进的想法。

“那如果我不拆分核心计算,而是只拆分辅助任务,只做功能拆分的轻量多线程呢”

渡边和程式设计师眨眼:“————“

苏砚承笑。

听不懂了吧

没关係,咱们来细细解释。

“注意这里,该记笔记了啊!”

“还有看我干嘛,看黑板啊!”

他重重敲黑板。

眾人赶紧正襟危坐,纷纷捏紧笔,认真听讲。

“首先,音频播放、文件预加载、数据接收这些轻任务,其实並不会占用大量的cpu时间,甚至还要长时间的还经常等活儿干”——

“比如音频线程,要等音效卡缓衝区空了,才需要运行。”

“文件线程,要等硬碟读写完成,才需要处理!”

苏砚承说,“而当我们將它们拆成独立线程后,负责渲染和逻辑的主线程在等待硬体响应的间隙,这部分间隙的时间,我们就可以分给辅助线程。”

相当於厨师炒主菜的间隙,顺手切个配菜,完全不耽误主菜进度,还能提高厨房的整体效率。

很简单的道理,只不过如今的开发者,不清楚哪些任务適合做线程拆分,而哪些不適合。

所以做出来后,反而线程衝突、性能反而下降。

说出来,很简单。

但听完之后,会议室內全体还是感到剧烈的震撼。

大家都是有点资歷的程式设计师了,可但感知到全新的知识和思路时。

还是如第一趟编程课,打出“helloworld”般兴奋。

甚至有人的眼里,已经能看出粉色的桃心和花痴的表情。

苏砚承接著讲下一题。

“而至於“数据导向设计””

这大概是这个时代下,最好实现的方案。

还是举个例子。

传统的数据包,相当於一个,给每个学生发一个。

书包里装了课本、文具、零食、衣服————

误,那如果计算机运行程序,忽然需要找某个数据,要找全班的数学课本,那就得挨个翻书包0

而数据导向设计,就是把全班的数学课本放一个箱子,文具放另一个箱子。

计算机想拿课本,直接抱课本箱子,再也不用挨个翻。

但对1996年的人来说,他们只觉得一个学生一个书包,多方便,而且还不占空间!

但有了银河算法,苏砚承就可以大胆的分箱子了!

程式设计师们面面相覷,面露惊色。

“既不用改硬体,也不用加代码,只是换个数据的摆放方式————”

“就能轻鬆完成性能的提速!”

“所以我们之前,到底在做什么啊”

有人更是摩拳擦掌,只想顺著这个思路实践一下。

苏砚承“咚咚咚”的敲了敲白板,”好的,还有没听懂的吗”

“所以我们要怎么做这个分装箱子呢”

苏砚承“嘿嘿”一笑。

眾人顿感不妙。

“那就是我们不再满足於只在內存方面做文章。”

苏砚承说,“而是直接绕过內存,深入到cpu的缓存里。”

嗯,毕竟道理也很简单。

“————我们都知道,內存的读写速度,比硬碟快数百倍,但cpu的缓存又是內存的数百倍。”

“这些缓存虽然小,但离核心更进,只要利用好他们,带来性能提升绝对是数量级的!”

一句出,满座皆寂然。

现在算是知道,什么叫,语不惊人死不休了。

总之,相比《边缘行者》,苏砚承提出了更深入更底层的优化方案。

毕竟不能什么只靠银河算法来兜底,不是吗

只是难度提升了很多罢了。

lod、法线贴图、动態加载————

这些简直就像赛车改装界的常规操作。

改改轮胎,加个碳纤维板,贴个豪车的车標级別。

但苏砚承说的这些

哥们已经是在改四驱系统、装智能差速器、重构重心、加涡轮了。

所以在这个大家还在琢磨怎么给家用车省油的时代。

合著你已经在画f1赛车的设计图了是吧!

对眾人的嘆服和称讚,苏砚承笑而不语。

而他想要的,可不止这些!

出了会议室后,程式设计师们还在狂热地討论。

像是受到了宗门掌门的传功和教导。

焚诀的秘密,已经对他们展开!

只待未来大成,必將成为修行界响噹噹的人物!

“理察,现在恆星网有多少用户了”

苏砚承却已经找到了自己的运营官。

“星汉嘉年华后吗,已经突破十万用户大关了!”理察特兴奋地直接说。

都不用翻数据,他天天都在看数据自嗨。

“嘖!”

苏砚承却摇摇头。

他看了看永无止境的经验条,那么增长如杯水车薪的理解度。

“还不够啊————”

“哈”

“想要惊艷世界的话,我们还需要一场更大的,受眾更广的活动啊。”