[video output=day132 member=cmuratori stream_platform=twitch stream_username=handmade_hero project=code title="Asset Streaming" vod_platform=youtube id=qyHM36RQxAI annotator=Miblo annotator=ChronalDragon]
[1:26][Recap]
[1:55][Hidden stall: Asset loading]
[4:35][Considerations for asset loading]
[7:13][Types of assets]
[12:00][Moving out assets into a single place]
[14:10][Breaking up asset types]
[15:40][Problems: data must be available, direct reference]
[17:28][Pulling out static bitmaps with IDs]
[22:20][Stopgap for other asset types]
[23:43][Extending PushBitmap to take an ID]
[30:25][Removing a failure case]
[33:13][Allocating space for the bitmaps]
[40:10][Deferred asset loading]
[41:35][Loading one asset at a time]
[49:32][Loading assets on demand]
[50:22][Background loading assets]
[54:22][Anticipate mr4thdimention's editor 4coder]
[58:31][Cleaning up]
[1:00:14][We background-load now][quote 113]
[1:01:01][Q&A][:speech]
[1:01:20][@robrobby][Is it useful when assets can be modified from outside (file on disk overwrite, maybe even in memory) and still work in-game? Is it now supported after an asset is loaded, as I could not see any callback to check if a file is modified, as your glazing speed refactoring was way too fast for me?]
[1:02:50][@robotchocolatedino][In load_asset_work, where is the memory for the filenames stored?]
[1:04:30][@robrobby][What are the trade-offs to give him more power forcing render pushes out of the rendering queue order?]
[1:04:43][@abnercoimbre][You said we got asset streaming done in an hour, but do we need to do multiple passes on it? If so, why?]
[1:06:04][@ttbjm][Where you check if an asset is already loaded or not, if an asset would take a very long time to load, would it check if it's loaded again to try to load the asset again? Not sure if that makes sense]
[1:08:09][@emeseles][Do you consider terrain an asset too so that it can stream?]
[1:08:32][@constantinopol][Why: "if (Task) { work }" versus "if (!Task) return; work"?]
[1:09:39][@robrobby][What are the trade-offs to give him (the rendering queue) more power forcing render pushes out of the rendering queue order when it is multi-threaded so the rendering can be controlled more fine-tuned? You where thinking about that in the stream]
[1:11:51][@emeseles][How much of the DirectX / OpenGL typical pipeline are you pre-emptively designing in to your code now?]
[1:12:48][@emeseles][What do you think about Microsoft's _vectorcall as a calling convention for speed?]
[1:15:04][@cubercaleb][Is it possible for the OS to lose track of memory that you ask for?]
[1:15:59][@bkboggy][Could you elaborate on OpenGL and DirectX death?]
[1:17:37][@coolsebz][What would be a good way to expand asset streaming to support increasing level of details? (What I'm thinking of is loading a smaller version of the asset first and then the bigger size resources)]
[1:19:24][@dontrunaway2][I recently started from the beginning of the series (on 13 atm). Do you suggest watching all of the Q&As or just going episode -> episode?]
[1:20:38][@emeseles][How infuriating is it to deal with massive asset pipelines dealing with dozens of pieces of software on a large AAA project?]
[1:22:48][Call it a day][:speech]
[/video]
