横向比较:

Inadequacy of current system design( 现代系统和一些软件的不足)

软件特点:

Output sensitivity

Out-of core data handing

Incremental updates

Scalabity

Visibility-guided rendering

作者对所有节点赋予了可见性权值,该权值影响节点在 (外存-内存-显存)交换中的优先度。

整体架构:

Queuing occlusion queries

GPU向CPU发送命令时具有一定的延迟,所以如果利用深度优先搜索整个队列会造成CPU在等待GPU的命令时,不再向GPU发送命令,GPU无命令

执行而轮空的现象。所以可以利用一个查询队列,改为广度优先搜索。

广度优先遮挡查询:

(1)向GPU发送所有相互需要查询的节点,并把该节点加入到查询队列中。

(2)当要查询的节点发送完毕后,利用API查询该队列首项是否收获查询结果

(2-1)如果有结果:

(2-1-1)可见:则把其子节点继续发送到查询队列

(2-1-2)不可见:无操作

(2-2)没有结果:则按照上一帧可见性进行处理,重复2-1-X,

(3)继续查看队列下一个节点

Frame to frame coherence

利用帧与帧的连续性维护kdTree和进一步优化遮挡查询的对象(只有最后渲染的对象,才能获得真正是否可见的信息)。

假定上一帧可见对象仍然均可见,则不再对其进行遮挡查询,并且优先渲染,每次仅从其不确定的父节点进行重新查询,

查询不可见节点。那么什么时候更新这些假定可见节点的可见信息呢?

LOD

Two-level cache mechanism

两级缓存,此外还有一些系统应该具有的基本设定如内存管理,资源管理。

VRAM management

作者提到优先对显存也进行划分。这是我之前想偷懒而没去思考的地方,看来我的显存管理器还是要改进的。。

终于到最后的Performance了!

16G Data 700,000 objects 350 M polygons 20+FPS(07 Video)

Interviews3D: APlatform for Interactive Handing of Massive Data Sets 读后感的更多相关文章

  1. 微软云计算 Massive Data 处理语言Scope 1

    Massive Data处理一直是云计算中很重要的一个环节.目前像Google,Yahoo在相关方面都有自己专有的技术.例如Google的基于MapReduce的Sawzall语言.和Yahoo基于H ...

  2. Multithreading C++ Out of Core Sotring for Massive Data|多线程C++的大规模数据外部排序

    先说一下,这个其实是我为实现PantaRay或者是类似Dreamworks的Out of Core点云GI的技术储备,为大规模点云光线跟踪所准备的第一步.在实际的应用中,int类型会被64bit的ui ...

  3. Handing Incomplete Heterogeneous Data using VAEs

    目录 概 主要内容 ELBO 网络结构 不同的数据 HI-VAE 代码 Nazabal A., Olmos P., Ghahramani Z. and Valera I. Handing incomp ...

  4. How To Build Compelling Stories From Your Data Sets

    How To Build Compelling Stories From Your Data Sets Every number has a story. As a data scientist, y ...

  5. Working with large data sets in MySQL

    What does working with large data sets in mySQL teach you ? Of course you have to learn a lot about ...

  6. Result window is too large, from + size must be less than or equal to: [10000] but was [78440]. See the scroll api for a more efficient way to request large data sets

    {"error":{"root_cause":[{"type":"query_phase_execution_exception& ...

  7. Massive Data Mining学习记录

    第一周: 学习PageRank, 知识点:每个节点的权值由其他节点的投票决定,所有节点的权值和为1 当节点很多时候必须转换成矩阵运算来计算节点的最终值,由马尔可夫链可以证明,这个值可以迭代得到 问题: ...

  8. machine learning data sets

    http://archive.ics.uci.edu/ml/datasets.html 例如 3 分类 鸢尾花 数据集: http://archive.ics.uci.edu/ml/datasets/ ...

  9. 最大信息系数(MIC)——Detecting Novel Associations in Large Data Sets

    本文介绍了一种发现两个随机变量之间依赖关系强度的度量MIC(最大信息系数,类似于相关系数的作用).MIC具有以下性质和优势: MIC度量具有普适性.其不仅可以发现变量间的线性函数关系,还能发现非线性函 ...

随机推荐

  1. height为100%的问题

    问题描述 很多同学,对于设置div 的高度为100%时,有疑惑. 设置div 的高度为100%,意思是此 div 的高度 铺满父元素. 那么 怎么使 div 铺满浏览器屏幕? 代码 <!DOCT ...

  2. 简单的doc命令

    cd 切换目录 dir 显示目录列表 mkdir 创建目录(mkdir) rmdir 删除空目录(rmdir test) rmdir  /s 删除非空目录(rmdir test /s) echo 创建 ...

  3. Record:逻辑分区下新建简单卷后其他卷被删除

    上图是恢复后的磁盘情况,恢复前的情况没有截图. 事情是这样:扩展分区中原本有4个逻辑分区.想将其中一个分区(MySpace,第一个分区)压缩出部分空间新建一个分区.经过 压缩卷->新建简单卷 后 ...

  4. jquery禁用a标签,jquery禁用按钮click点击

    jquery禁用a标签方法1 $(document).ready(function () { $("a").each(function () { var textValue = $ ...

  5. #Leet Code# Sqrt

    描述:log(n) 代码: class Solution: # @param x, an integer # @return an integer def getVal(self, begin, en ...

  6. 安装Oracle 11gR2,报错:[INS-06101] IP address of localhost could not be determined

    安装Oracle 11gR2,报错:[INS-06101] IP address of localhost could not be determined 出现这种错误是因为主机名和/etc/host ...

  7. Quartz2D 备忘 + 学习

    Quartz2D Quartz2D是支持iOS和Mac系统的二维绘制引擎,它可以绘制: 绘制图形(图形,线条,圆等) 绘制文字 绘制/生成图片 读取/生成PDF 截图 Quartz2D主要功能就是以画 ...

  8. Sql server中DateDiff用法【转】

    记录下来.每次使用都忘记.... DATEDIFF 函数 [日期和时间] 功能 返回两个日期之间的间隔. 语法 DATEDIFF ( date-part, date-expression-1, dat ...

  9. Uva 1354 Mobile Computing

    题目链接 题意: 在一个宽为r 的房间里, 有s个砝码, 每个天平的一端要么挂砝码, 要么挂另一个天平, 并且每个天平要保持平衡. 求使得所有砝码都放在天平上, 且总宽度不超过房间宽度的最大值. 思路 ...

  10. 关于Java(JDBC介绍)

    JDBC API 允许用户访问任何形式的表格数据,尤其是存储在关系数据库中的. JDBC 简单功能 连接数据源,如数据库 传给数据库查询和更新指令 获取并处理数据库返回结果(对查询等的响应) 示例代码 ...