查看: 1657|回复: 12

DatabasePager

[复制链接]

该用户从未签到

发表于 2010-6-29 08:15:16 | 显示全部楼层 |阅读模式
请问老大,如何优化DatabasePager的效果,使其调度不卡,除了使用设置每帧编译最大个数外请问还有别的方法么?是否得结合ImagPager一块使用才会好些啊?此外数据上如何优化啊?

该用户从未签到

发表于 2010-6-29 12:24:30 | 显示全部楼层
不需要结合ImagPager来使用,如果是使用VPB生成的数据,那么几百GB的数据浏览起来应该是相当顺畅的。不知道您的数据量以及代码方法是怎样的

该用户从未签到

 楼主| 发表于 2010-6-29 13:29:47 | 显示全部楼层
谢谢了,我使用的不是VPB生成的数据,是自己建的房屋及地形小品模型,房屋大小平均在1.5M大的可能在10M左右,我用PageLod节点进行调度的,调度的效果除了比较卡其他都不错,老大是不是得从数据上优化啊?怎样优化啊?

该用户从未签到

 楼主| 发表于 2010-6-29 13:30:13 | 显示全部楼层
谢谢了,我使用的不是VPB生成的数据,是自己建的房屋及地形小品模型,房屋大小平均在1.5M大的可能在10M左右,我用PageLod节点进行调度的,调度的效果除了比较卡其他都不错,老大是不是得从数据上优化啊?怎样优化啊?

该用户从未签到

发表于 2010-6-29 16:07:30 | 显示全部楼层
这就要看您的节点结构了,直接把所有的对象都放在一个根节点下是不合适的,这样反而会因为PagedLOD节点太多而造成系统的调度响应时间变长。四叉树是一个很适宜的结构形式

该用户从未签到

发表于 2010-6-30 08:35:32 | 显示全部楼层
好的,谢谢老大了,我去试试。

该用户从未签到

 楼主| 发表于 2010-6-30 08:47:11 | 显示全部楼层
请问老大,您是说场景节点组织用四叉树么?那还需要修改DataPager中加载模型部分的代码么?

该用户从未签到

发表于 2010-6-30 12:32:25 | 显示全部楼层
不需要啊,直接把节点用writeNodeFile写出来了,再同过setfilename添加给pagedlod。

该用户从未签到

 楼主| 发表于 2010-7-5 16:10:29 | 显示全部楼层
请问老大,我现在已经按四叉树将场景节点组织好了,但调度卡的现象没有改善,请问老大是不是应用了预编译只能说可以减少卡的程度但不能消除啊?怎样才能使其流畅啊?

该用户从未签到

发表于 2010-7-5 16:59:51 | 显示全部楼层
我现在已经按四叉树将场景节点组织好了,但调度卡的现象没有改善
我想您没有给出任何可以帮助大家进行排查和判断的信息

该用户从未签到

 楼主| 发表于 2010-7-6 13:34:49 | 显示全部楼层
我将场景里的32000个房屋分为三级模型分别是:没有纹理的白模,低清晰度纹理的房屋与高清新度纹理的房屋,想实现近处为清晰模型,中间为低级模型,远处为白模,然后创建32000个pageLod节点,设置pagelod节点的三个childName分别为该三类模型的文件名,可以实现调度效果,且内存释放也比较正常,但发现漫游时较卡,调整最大每帧预编译个数仍不能解决问题。实验发现只要将高精度模型调入就会卡,如果只有白模与低精度模型则漫游还比较流畅。原来的所有pagelod节点都在一个root节点下,我按照您的提示重新将其组织成四叉树的结构,但效果仍未改善。请问老大如何才能优化啊?

该用户从未签到

发表于 2010-7-6 15:18:07 | 显示全部楼层
首先四叉树结构是按照地域划分的,也就是下一级的模型范围必须包含在上一级内。
还有一般来说是用setFileName();而不是添加子节点。
再有就是要看你视景器内的高清新度纹理的房屋不能超过你硬件所支持的数量。这个可以通过调节显示距离来测试。
按你提供的信息我就想到这些。其他人补充。

该用户从未签到

 楼主| 发表于 2010-7-6 17:25:59 | 显示全部楼层
谢谢了,我用的就是setFileName()加载的模型,好的谢谢大家了,我去看看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表