Manta Interactive Ray Tracer Development Mailing List

Text archives Help


[Manta] r2185 - trunk/Engine/ImageTraversers


Chronological Thread 
  • From: "Solomon Boulos" <boulos@cs.utah.edu>
  • To: manta@sci.utah.edu
  • Subject: [Manta] r2185 - trunk/Engine/ImageTraversers
  • Date: Sat, 12 Apr 2008 17:17:12 -0600 (MDT)

Author: boulos
Date: Sat Apr 12 17:17:10 2008
New Revision: 2185

Modified:
   trunk/Engine/ImageTraversers/TiledImageTraverser.cc
Log:
Choose default tile size more robustly for varying packet sizes. For
RayPacket::MaxSize 256, the tiles were enormous (256x256) leading to
poor load balancing. Now they'll be at most 64x64 unless you have
enormous packets.



Modified: trunk/Engine/ImageTraversers/TiledImageTraverser.cc
==============================================================================
--- trunk/Engine/ImageTraversers/TiledImageTraverser.cc (original)
+++ trunk/Engine/ImageTraversers/TiledImageTraverser.cc Sat Apr 12 17:17:10 
2008
@@ -62,8 +62,17 @@
 
 TiledImageTraverser::TiledImageTraverser(const vector<string>& args)
 {
+#if 0
   xtilesize = Fragment::MaxSize;
   ytilesize = Fragment::MaxSize;
+#else
+  // NOTE(boulos): Personally, I think our tiles should be smaller
+  // than this. But this maintains the current performance for a
+  // RayPacket::MaxSize = 64, and improves performance when using even
+  // larger packets.
+  xtilesize = Min(64, 8 * 
static_cast<int>(Sqrt(static_cast<Real>(Fragment::MaxSize))));
+  ytilesize = Min(64, 8 * 
static_cast<int>(Sqrt(static_cast<Real>(Fragment::MaxSize))));
+#endif
   shape = Fragment::LineShape;
   for(size_t i = 0; i<args.size();i++){
     string arg = args[i];




  • [Manta] r2185 - trunk/Engine/ImageTraversers, Solomon Boulos, 04/12/2008

Archive powered by MHonArc 2.6.16.

Top of page