From: Andreas K. <and...@we...> - 2004-10-07 12:37:10
|
Hi! > I agree that the technique is really exciting, but I don't see many places > where it can be used in Ray++. For example, all vector and matrix operations > are already unrolled by hand and inlined where I thought that it is necessary. > But if you have a counter-example, where expression templates make a noticeable > difference, I would certainly like to see it! I'm not really an expert on the subject as I just discovered this technique recently. I thought that you could get some performance optimizations whenever more vector or matrix operations are combined to a long expression. But you are probably right, I just skimmed through some of the code and there's actually nothing like that... > [...] Ray++ uses virtual functions only where this is absolutely > necessary. If we tried to remove them, all of the flexibility would be lost. That's true. There's probably no better way to do it without sacrificing the fexibility. > The most promising area of speedup is IMO the bounding box hierarchy > generation. The current algorithm is very ad-hoc and could certainly be improved. You're talking about POV_HMAKER, right? From that name I was assuming it is the same technique POVRay uses (which can't be that bad, although I don't know it). Could you give a short intro how it works? Andreas. |