nicky

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
这几天写了个优化post-TnL vertex cache的程序。发现Lin的算法还是相当有效的,比起Hoppe的来。只不过最终还是比参照数据差一点-___-
---

经过一些优化,结果终于超过了Lin的,速度也与Lin的相当了。

Algorithm

Bogomjakov02

Hoppe99(D3DX)

Lin06

mine

Cache size

8

16

8

16

8

16

8

16

Mesh

fandisk

dragon

bunny

#verts

6,475

22,342

35,947

#tris

12,946

43,571

69,451

 

0.906

0.900

0.901

 

0.733

0.738

0.737

 

0.891

0.927

0.866

 

0.601

0.671

0.600

 

0.698

0.743

0.701

 

0.594

0.634

0.600

 

0.691

0.733

0.697

 

0.593

0.633

0.600

Cache size average ACMR

0.903

0.736

0.895

0.624

0.714

0.610

0.707

0.609

Overall average ACMR

0.81914

0.75956

0.66166

0.657861



---
发现FIFO cache的一个问题:渲染一个三角形1,2,3时,当head是1而且2,3不在cache里,1会被替换掉但之后就不在cache里了。硬件对此的实现还是会对cache performance有些影响,但对fps的影响也许就不那么大了。
                     ... X   X   1(head)   X  ...
posted on 2007-02-28 02:24  nicky  阅读(368)  评论(0编辑  收藏  举报