onilink_

Untitled

Apr 30th, 2023 (edited)
998
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.01 KB | None | 0 0
  1.         for(unsigned chunk_y=0; chunk_y<canvas.size.hei; chunk_y+=chunk_size) {
  2.             for(unsigned chunk_x=0; chunk_x<canvas.size.wid; chunk_x+=chunk_size) {
  3.                 // update LRU cache and load missing tiles
  4.                 // [...]
  5.                
  6.                 for(unsigned i=0; i<thread_count; ++i)
  7.                 {
  8.                     const unsigned chunk_pos = chunk_y + chunk_min_hei * i;
  9.                     unsigned chunk_hei =
  10.                             (i+1 < thread_count)?
  11.                             chunk_min_hei: chunk_size - chunk_min_hei * i;
  12.                    
  13.                     threads[i] = std::thread(&Fuse::processChunk, this,
  14.                         std::ref(canvas), std::ref(images), std::ref(tiles_indices),
  15.                         chunk_x, chunk_pos, chunk_size, chunk_hei, std::ref(pano));
  16.                 }
  17.                
  18.                 for(unsigned i=0; i<thread_count; ++i) {
  19.                     threads[i].join();
  20.                 }
  21.                
  22.                 // unload useless tiles
  23.                 // [...]
  24.             }
  25.         }
Advertisement
Add Comment
Please, Sign In to add comment