两百万资金的注入,如同给星河科技这台初具规模的引擎加注了高标号的燃油,瞬间爆发出更强的动力。
整个团队的精神面貌和研发环境,以肉眼可见的速度发生着变化。
许乐和孙浩、王伟雷厉风行,资金一到帐,立刻开始行动。
硬件升级是第一位的。
他们通过韩滨教授的关系,联系上了学校的设备采购部门,凭借学校的渠道订购了几台高性能的服务器机组和数十套最新的ar开发板与调试工具
当这些性能强劲的新设备被搬进项目组,接替那些老旧的计算机和开发板时,技术宅们眼睛都直了。
“我靠!这服务器配置!编译内核估计能快好几倍!”杨帆抚摸着冰凉的服务器机箱,如同抚摸着心爱的宝贝。
“这下调试驱动再也不用担心性能瓶颈了!”赵成也兴奋不已。
陈鑫虽然没说话,但手上敲击新键盘的速度明显更快了,嘴角微微上扬。
另外周教授说的话也兑现了,超算中心那边也给了一部分资源,一些项目组内部没办法完成的也可以利用学校的超算中心。
后勤保障也迅速跟上。
许乐让王伟负责,在两个项目组角落分别放了个大冰箱,里面塞满了饮料、牛奶、面包、泡面,旁边的柜子里放着各种零食,旁边租了个咖啡机二十四小时供应咖啡。
这一举措立刻赢得了所有人的心。
“乐哥!太贴心了!晚上熬夜再也不怕饿肚子了!”
“这咖啡,比学校小卖部的强多了!”
“感觉幸福感飙升!”
同时,许乐和孙浩、韩滨教授以及各项目组长一起,制定了清晰的作业系统“图形化版本”和游戏“技术deo”的里程碑节点和映射的奖金数额,并公之于众。
不用任何人催促,实验室和活动室的灯光,经常亮到深夜。
作业系统组面临的第一个硬骨头,就是图形用户界面的搭建。
之前的内核只支持简单的帧缓冲显示字符和基本图形,距离一个可用的图形界面还差得很远。
赵成、刘健和李悦组成的“图形攻坚小组”几乎住在了实验室。
他们需要在现有的内核和hal层基础上,设计并实现一整套图形子系统,包括窗口管理、事件处理、图形绘制接口等等。
“窗口管理器的消息队列机制必须高效,不能成为系统瓶颈。”赵成在白板上画着架构图。
“事件处理要能及时响应触摸屏和按键输入。”刘健补充道。
“图形绘制接口的设计是关键,要兼顾效率和易用性,为上层的应用开发打下好基础。”李悦指着接口设计草案说道。
讨论经常陷入僵局,某个技术细节可能就会卡住大半天。
不过在系统buff的加成下,这些难题困扰不了多久,基本上都会解决。
这天晚上,为了解决一个关于图形层与硬件加速驱动协同工作的难题,三人又争论了起来。
“我觉得应该把硬件加速的调用封装得更底层一些,让上层应用无感知,这样兼容性最好。”刘健坚持道。
“但这样会损失性能!很多应用场景需要直接控制硬件加速来达到极致流畅度!”李悦反驳。
赵成皱着眉头,试图调和:“能不能设计成两种模式?一种自动兼容,一种高性能模式由应用选择?”
就在这时,一直在旁边默默听着的许乐,看着白板上纠缠的线条,忽然开口道:“其实我们可以借鉴一下微内核架构的思想。”
他走到白板前,擦掉一部分,重新画了起来:“我们把最内核的、与硬件直接交互的图形驱动和加速管理,做成一个独立的、高优先级的系统服务。然后,设计一套高效的消息传递机制。窗口管理器和应用,通过发送消息来请求图形操作。这个系统服务接收到消息后,统一调度硬件资源来执行。”
他详细解释道:“这样做,既保证了硬件访问的安全性和统一调度,又能通过优化消息传递机制来保证性能。上层应用感觉象是在直接调用,但实际上是通过高效的消息中间层。我们可以把这个消息机制做得足够快,快到底层差异可以忽略不计。”
赵成眼睛一亮:“对啊!这样既隔离了差异,保证了稳定和安全,又通过优化通信机制保证了性能!这个思路好!”
刘健也恍然大悟:“把复杂的硬件差异隐藏在系统服务内部,对外提供既统一又高效的接口,妙啊。”
李悦兴奋地开始在白板上补充细节:“消息格式可以这样设计……传递机制可以用共享内存加信号量……”
图形子系统最内核的架构难题,在许乐的引导下,找到了适合的解决方案。
攻坚小组立刻投入到了紧张的编码实现中。
与此同时,游戏项目组也在全力冲刺游戏deo。
有了资金支持,黄瑾瑾做的第一件事,就是购买更多专业设备,提升项目的效率。
这让美术组的同学们如虎添翼,建模和贴图的效率与质量进一步提升。
阿斌负责的“共工”祖巫模型,已经完成了高精度建模和骨骼绑定,正在调试攻击和技能释放的动画。
那肌肉虬结、充满力量感的动作,配合着临时加之去的水流粒子特效,已经初具震撼力。
另一个英雄“琼霄仙子”的模型也接近完成,衣袂飘飘,动作灵动,剑诀手势栩栩如生。
策划莉莉则带领着策划组,和程序组的同学紧密配合,开始将设计好的英雄技能、属性、装备数据,录入到正在二次开发的游戏引擎中,并搭建第一个小型对战地图“不周山遗迹试炼场”。
然而,他们也遇到了麻烦。
负责客户端内核逻辑的程序员发现,当同时喧染多个带复杂特效的英雄模型时,帧率会急剧下降,明显卡顿。
“不行啊,帆哥!”程序员向兼任引擎技术顾问的杨帆求助,“这特效一多,draw call(绘制调用)太高了,cpu提交指令都忙不过来,gpu再强也白搭。”
杨帆过来看了一下性能分析工具,皱起了眉头:“确实是draw call瓶颈。我们用的这个开源引擎,在批量喧染和合批处理上优化得不够好。”
黄瑾瑾也急了:“那怎么办?总不能把特效都砍了吧?那洪荒战斗的史诗感就没了!”