第102章 所谓苏学(5K)
执著於搞一些用小聪明。

    得来一些真功夫!”

    程序组安静下去。

    “真功夫?”渡边挑眉。

    苏砚承沉吟思索片刻,说:“比如我们可以在多线程、无锁编程、数据导向设计和向量化计算上,下下功夫。”

    他的话音一落,整个程序组直接给干沉默了。

    你在说什么东西?

    渡边轻咳一声,乾乾脆脆,不羞不愧:“我是个煞笔,所以你能解释————不对,科普一下吗?”

    这一说,平均年龄三十的“资深程式设计师”们,都露出惭愧的神色。

    “科普?好啊!”

    “”

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

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

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

    “嘿,你!”

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

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

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

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

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

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

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

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

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

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

    但苏砚承提出来的呢?

    五个字,架构级重构!

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

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

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

    但能不能做到呢?

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

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

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

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

    会议室里。

    程式设计师们不敢说话。

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

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

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

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

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

    苏砚承笑而不语。

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

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

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

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

    他没法同时炒两盘菜。

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

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

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

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

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

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

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

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

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

    渡边和程式设计师眨眼:“————&a;a;quot;

    苏砚承笑。

    听不懂了吧?

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

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

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

    他重重敲黑板。

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

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

本章未完,请点击下一页继续阅读>>