- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
切割管道.ppt
This eliminates startup and shutdown times. You must make sure that your compiler does not leak memory, but you already do that don’t you? Note that in this case you would run the compiler server ”on your own machine”. It compiles files on your disk. * Note that we are now safe against crashes, because if we crash during compile, the database does not get updated with the mtime, so the dirty files are still seen as dirty during the next run. * If you wanted to, you could make the data compiler automatically recompile and reload files whenever they changed. But our artists prefer to have it as an explicit step. They want to make a number of changes and then press a button to see them in the game. That makes it easier to judge the effects of the changes We could receive the request to recompile the data before we get notified about the changed files. In addition, we combine this with explicit compile lists, so we always compile the files that the tool tells us have changed. Belt and suspendors. In the Min Change test a minimal change was made to the project (a single Lua file 10 bytes was changed). The linear growth you see here comes for the fact that we loop over all files in memory to check if any of the dependencies has changed. You could without too much effort get rid of that by rewriting the code from a pull to a push model, where we only loop over the modified files and check their dependants. But with compile times below 100 ms for our largest project, there hasn’t been much incentive for that. 渐进式编译 启动Exe文件 扫描资源 依赖关系 重新编译 关闭 找到上一次编译以来所有被修改过的资源数据 确定依赖于这些文件的运行时间数据 对需要的部分进行重新编译 重要的是这个过程是坚如磐石的 信任很难获得却很容易失去 “最安全的做法是进行一次完全编译” 挑战:依赖关系 基本着色器资源(base.shader_source)包括 常见着色器资源(common.shader_source) 如果common.shader_source 改变就需要重新进行编译 没有读取每个文件我们要如何知道是否改变了? 解决方法:一个编译数据库 从前一次运行储存信息 在启动时打开,在关闭时保存更新 当一个文件进行编译时,储存它的依赖关系到数据库当中。 通过跟踪 open_file()自动确定它们 启动Exe文件 扫描资源 依赖关系 重新编译 关闭 挑战:二进制版本 如果纹理资源的二进制格式改变了,那么每一个纹理都需要进行编译 解决方法:重用数据库: 在数据库中储存每一个编译资源的二进制版本 在数据编译器中再度检查当前版本 如果有一个不匹
您可能关注的文档
- 全国中小企业股份转让系统业务规则-中国科技金融促进会风险投资专业.doc
- 全国计算机技术与软件专业技术资格(水平)考试初级程序员考试1.考试.doc
- 全国麻风病疫情监测方案(试行)-北仑区疾病预防控制中心.ppt
- 全市餐厨垃圾处理配套设施一期及新城区环卫车辆招标项目内容及技术.doc
- 全校学生英语毕业门槛因应办法-高苑科技大学语言中心.ppt
- 全能近似与近似函数的概念及其应用.doc
- 全选Ctrl+A;反选Shift+Ctrl+I;取消选择区Ctrl+D;选择区域移动.doc
- 全面品质管理与ISO9000.ppt
- 八、发行人和保荐人(主承销商、簿记管理人)-冀中能源股份有限公司.doc
- 八十七学年度南开工商专科学校五专推荐甄试-南开科技大学招生专区.doc
文档评论(0)