1. 首页
  2. SketchUp

sumodelsavotefilewithversion在版本sketchup工具包21.0.339中具有性能回归

HiExperts,最近我们将Sketchup工具包从20.0.363版更新到21.0.339版,在保存Sketchup文件时会出现性能下降。
image1574×289 KB
您能看一下这个问题吗?我不确定你能否复制这个问题。如果你做不到,我能为你做些什么来帮助你重现这种性能退化?
请在论坛(以及API Issue Tracker 1)中正确发布代码。
..不显示代码的屏幕截图:
– [如何]在论坛上发布正确格式和颜色的代码?你能看看这个问题吗?我不确定你能否复制这个问题。如果你做不到,我能为你做些什么来帮助你重现这种性能退化?如果您在跟踪器中发布问题,请提供完整的可复制代码和显示节省时间差异的示例模型。,随着SketchUp版本21的发布,为SKP文件引入了一种新的压缩存档格式。来自SketchUp应用程序发行说明2:隐藏下:重新构建.SKP文件格式。在将模型保存为新格式时,您可能会注意到文件大小的显著减小,我们对新文件格式将解锁的其他工作流改进感到兴奋。因此,如果您的测试现在以新的压缩存档版本21格式保存,,然后,预计存储过程将比旧的pre-21非压缩二进制格式花费更多的时间。我不知道平均值是多少。15%听起来并不是太多(对我来说)。p>strong>EDIT。我认为这是Sketchup SDK的问题,然后在这里报告(这是错误的地方)。下次我将严格遵守规则。谢谢您的信息。更新工具箱的是另一个人。因此,我错过了有关以新的压缩存档版本21格式保存的重要发布信息。但是我注意到文件的大小减小了。生成的sketchup文件大小接近220M。生成的skp文件的文件大小越大,是否可以节省更多的时间?xqtyler:文件大小越大,占用的时间越多吗?是的,我认为这对于任何格式版本来说都是一个自然的结论。感谢您的帮助。DanRathbun:如果您的测试现在以新的压缩存档版本21格式保存,然后预计保存过程将比旧的pre-21非压缩二进制格式花费更多的时间。现在我们有机会保存为非压缩二进制格式吗?是将version参数设置为旧版pre-21版本的一个值。DanRathbun:是将version参数设置为旧版pre-21版本的一个值。对于旧版pre-21版本,您指的是\”SUModelVersionu SU2017,SUModelVersionu SU2018,SUModelVersionu SU2019、SUModelVersionu SU2020等。我尝试用版本\”SUModelVersionu SU2020\”调用API SUModelSaveToFileWithVersion,时间没有缩短。xqtyler:DanRathbun:是将版本参数设置为旧的21之前版本的值之一。对于一个旧的21世纪以前的版本,你的意思是像\”SUModelVersionu SU2017,SUModelVersionu SU2018,SUModelVersionu SU2019,SUModelVersionu SU2020\”这样的版本吗文件大小没有改变,仍然是压缩的。文件的内部版本是20还是21?DanRathbun:文件的内部版本是否指示20或21从何处知道文件的内部版本?如果指定版本2020,为什么它的内部版本是21?很抱歉,我不明白你的意思。xqtyler:从哪里知道文件的内部版本?手动:在SketchUp 2020中打开测试文件,如果它打开,您可以打开模型信息对话框,然后switch转到\”文件\”面板并查看显示的版本。如果显示的是而不是打开一个消息框,说明文件版本比应用程序版本更新。(注意,因为他们正试图使新的SKP格式在版本之间更具可移植性,他们已经从车型信息中删除了版本显示字段;文件面板(21.0版)通过API:我们记录了此问题(但尚未实现):github.com/SketchUp/api-issue trackerRead SketchUp version of external fileopenshanghai 9,2019下午6:30,2019年10月9日上午10:30,使用官方API读取外部的SketchUp版本字符串可能非常有用…C APIRuby APISketchUpenhancementgithub.com/SketchUp/api-issue trackerdiv>h4>SketchUp在尝试时崩溃加载新版本的组件开放时间:2018年1月25日上午4:26上海2018年1月24日下午8:26巴黎2018年1月24日下午9:26洛杉矶2018年1月24日下午12:26上海2019年2月6日上午12:33,2019下午4:33,5,2019下午5:33,SketchUp崩溃时出现了一个…/p>Ruby APISketchUpbugfixed-SU2019.0logged2
– 在SketchUp 2020中打开测试文件,如果它打开,您可以打开模型信息对话框,然后switch转到\”文件\”面板并查看显示的版本。如果显示的是而不是打开一个消息框,说明文件版本比应用程序版本更新。(注意,因为他们正试图使新的SKP格式在版本之间更具可移植性,他们已经从车型信息中删除了版本显示字段;文件面板(21.0版)
– 如果显示的是而不是打开一个消息框,说明文件版本比应用程序版本更新。
– (注意,因为他们正试图使新的SKP格式在版本之间更具可移植性,他们已经从车型信息中删除了版本显示字段;文件面板(21.0版)
您好@xqtyler,感谢您的报告。
这种减速很可能是由于以新文件格式保存时必须执行的模型有效性检查。在2021年之前,capi并没有始终如一地做到这一点,这导致了更快的保存。但这可能会导致模型的有效性错误。我们的基准测试表明,使用新格式保存本身并没有明显变慢。
请放心,我们正在考虑加快有效性检查。
根据上面的讨论,现在看来,有两个可能的原因导致了额外的时间成本。文件压缩在新版本中,根据测试结果,切换到2021年之前,时间没有减少。因此,性能回归似乎不是由它引起的,对于模型有效性检查,是否可以提供一个选项,让客户端在以新文件格式保存时决定是否需要模型有效性检查?如果版本设置为2021年之前,是否跳过模型有效性检查?我尝试保存为版本2020,似乎时间没有减少。
基于新版本工具包,我可以做些什么来保持保存时间不变?xqtyler:
– 新版本中的文件压缩根据测试结果,切换到2021年之前,时间不缩短。因此,性能下降似乎不是由它引起的,他们说\”节省\”的时间仍然与以前\”差不多\”。但我自己认为新的格式必须比旧的二进制格式多加一些时间。我请Bugra过来发表意见,因为他对这个问题的了解比我多。xqtyler:如果版本设置为2021年之前,是否跳过模型有效性检查?不完全。在过去的几个主要版本中,有效性检查有所增加。xqtyler:对于模型有效性检查,是否可以提供一个选项,让客户端决定在以新文件格式保存时是否需要模型有效性检查?不没有这样的选项。保存时间的增加将确保更稳定的模型文件。向后保存太多版本将删除较新的功能,如标记(层)文件夹支持。有效性检查不依赖于模型格式版本,并且当前不是可选的。我有点惊讶,这是一个这样的表演,为您,因为我们没有听到任何其他投诉。你能分享一个你正在看的模型吗?嗨@DanRathbun和@bugra,非常感谢您的评论和帮助。我对新版本的当前行为没有意见。错误:可以你分享一个你正在看的模型的例子?输入模型是我们自己编写的xml文件。分享看不方便。我将保留我的问题,直到听到任何投诉。处理Collada文件时,您是否看到类似的时间安排?
– 根据测试结果,切换到2021年之前,时间不缩短。因此,性能下降似乎不是由它引起的,他们说\”节省\”的时间仍然与以前\”差不多\”。但我自己认为新的格式必须比旧的二进制格式多加一些时间。我请Bugra过来发表意见,因为他对这个问题的了解比我多。xqtyler:如果版本设置为2021年之前,是否跳过模型有效性检查?不完全。在过去的几个主要版本中,有效性检查有所增加。xqtyler:对于模型有效性检查,是否可以提供一个选项,让客户端决定在以新文件格式保存时是否需要模型有效性检查?不没有这样的选项。保存时间的增加将确保更稳定的模型文件。向后保存太多版本将删除较新的功能,如标记(层)文件夹支持。有效性检查不依赖于模型格式版本,并且当前不是可选的。我有点惊讶,这是一个这样的表演,为您,因为我们没有听到任何其他投诉。你能分享一个你正在看的模型吗?嗨@DanRathbun和@bugra,非常感谢您的评论和帮助。我对新版本的当前行为没有意见。错误:可以你分享一个你正在看的模型的例子?输入模型是我们自己编写的xml文件。分享看不方便。我将保留我的问题,直到听到任何投诉。处理Collada文件时,您是否看到类似的时间安排?

sumodelsavotefilewithversion在版本sketchup工具包21.0.339中具有性能回归 为WP2原创文章,链接:https://www.wp2.cn/sketchup/sumodelsavotefilewithversion%e5%9c%a8%e7%89%88%e6%9c%acsketchup%e5%b7%a5%e5%85%b7%e5%8c%8521-0-339%e4%b8%ad%e5%85%b7%e6%9c%89%e6%80%a7%e8%83%bd%e5%9b%9e%e5%bd%92/