TSC Meeting Notes 2023-03-09
Attendance:
Guests:
Omprakash Dhyade
Discussion:
Rod: compression issues
Using GPUDirect from Microsoft and Nvidia to decompress w/gzip the data on the GPU, for the purposes of display. Could the EXR file have the data in that form? We don’t have this done.Â
Kimball: But we want there to be tiles, and each tile needs to be compressed.Â
Rod: We have uncompressed EXR that are tiled and mipped. Most is reading time. If you can reduce the reading time.Â
Kimball: How much are you relying on reading subimages?Â
Rod: We are. We have the entire 360 sphere, although we’re only looking where the camera is looking.
Larry: This is an approach we’re already taking with texture mapping. I’d be supportive of evolving EXR to support it. It’s not just the realtime case that would be improved.Â
Kimball: Is the default tile size of 32x32 from 20 years ago still appropriate?
Rod: We do it by hand 256x256.
Larry: We do 64x64, did some benchmarking a few years back.
Rod: There’s still some overhead to go to the next tile.
Rod: We wanted to be able to play back 8K on the wall.
Kimball: Have you experimented with non-square tiles?
Rod: No. But we’ve tried virtual texturing. There’s a texture that’s loaded that tells you whether you can see the tiel, then you got get the tile from somewhere else
Kimball: We’ve done a bunch with virtual texture, in Gazebo. Took a few rewrites.
Rod: Latency,Â
Rod: We’d talked about general mechanisms for compression. This is just one of them.Â
Larry: Do we want to support hardware-supported compression? BZ7.Â
Rod: We use those for our other textures.Â
Rod: Specify a path to the true EXR sequence, press a button then it makes the fast files.
Nick: We’d like to make EXR part of canonical of USD.Â
Larry: no dissenting opinions. It should happen. Just a question of who.
Kimball: We’d need a new version of the file format. We have BZ7 compressor code. I could get that in. Do we need to do anything to the actual tile layout?
Kimball: I debated about allowing you to request multiple tiles. You’d say give me these 4 tiles,Â
Rod: We added chunking. It’s faster than reading them all one at a time.Â
Kimball: There’s a set of stages in reading, you can interject any code you want in that process.
Is there a way to do asynchronous reading? It ends up beingÂ
Rod: Would be good to have Ruslin Idrisob who reports to me to do a presentation.Â
Rod: What we’ve done is restricted to Windows. It’s not a library thing.Â
Kimball: It might be not unreasonable to have a coding scheme, B44a, rather than scanline linear.
Rod: We (Epic) put our code out there, so it’s practically open source.
Nick: you can't copy and paste epic code into your own project, it's open but not shareable
Rod: We may be all doing this. Is thereÂ
Invite Ruslin on March 23.
Kimball: I’ll message Mark Leoni at Nvidia. Steve Parker is doing his own thing. Will CC Enderton as TAC rep.
Website
Cary: The website is currently built off of the main branch so that it gets the latest news. Is that the best way?Â
Larry: readthedocs can build on a specific branch.
Cary: Fine to have documentation pinned to a particular branch, but that branch will have all the website news there.
Kimball: Peter was trying to convince Joe to make a training video. Where would be put that?
Larry: Just put it on YouTube
Cary: I put a link to the YouTube video of the 2020 sizzle reel on the website.
Larry: Let’s be aware of the schedule. It’s March. If we want anyone to use what we're doing, we need to have a release by August-ish.
Kimball: Rod’s proposal, some would not be difficult. It’s not difficult to add compression types, just have to rev the file version. But how far do we want to go.Â
Peter: The version is encoded in the version flags.
Cary: There’s removing the version from namespace
Larry: Changes to C++ API to get thread safety.
Kimball: I’ve been working on that. I’m going to start from the inside out. I’ll prioritize over the next few weeks.Â
Kimball: Simple struct changes, I’d be fine with that. I can simplify my earlier proposal.
Larry: We shouldn’t lose the simplicity and understandability of Imath. Look at the header and my question is answered. Shouldn’t do something that only the six of us understand.Â
Larry: We’ve removed the last bit of boost.
Kimball: us, too.
Nick: USD is making a push, too.