Jump to content
主视角中国

Recommended Posts

Posted

解释为什么Loading速度变慢了——这就是实时编译Shaders程序!编译程序是需要时间的,虽然单个耗时很短,但其实所有的3D游戏都拥有许多Shaders程序,而不是一个。通常在顶级的3D游戏中,Shaders程序的都是数以百计的。就算编译器的速度快到一秒种编译5个Shaders程序(目前最快的3D显卡不过如此),100个程序也需要20秒钟才能编译完成。而如今的3D游戏动辄多达五六百个程序也正是造成让你坐在屏幕前傻等几分钟的原因。

让我们理清顺序,来看看一个3D游戏在Loading时都作了些什么吧:首先,游戏把大量的数据从硬盘搬到“内存”;然后,编译Shaders程序;最后,初始化游戏(布置地图等)。在这3个步骤中,编译Shaders程序耗时最长,读取数据其次,通常我们认为耗时最长的初始化排在最后。

  其实3D游戏采用实时编译Shaders程序也还是为玩家考虑的结果,若是个个都采用如测试软件和演示Demo那样的预编译,每一个游戏就会需要一个特制引擎,游戏的价格可就贵了去了。而且,那样游戏不可能做得内容丰富。大家明白了这个道理,也就能够理解制作人的苦心了

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

登录

Already have an account? Sign in here.

现在登录
×
×
  • 创建新的...