Cleaning Up the Loaded Asset Infrastructure
?
?

Keyboard Navigation

Global Keys

[, < / ], > Jump to previous / next episode
W, K, P / S, J, N Jump to previous / next timestamp
t / T Toggle theatre / SUPERtheatre mode
V Revert filter to original state Y Select link (requires manual Ctrl-c)

Menu toggling

q Quotes r References f Filter y Link c Credits

In-Menu and Index Controls

a
w
s
d
h j k l


Esc Close menu / unfocus timestamp

Quotes and References Menus and Index

Enter Jump to timestamp

Quotes, References and Credits Menus

o Open URL (in new tab)

Filter Menu

x, Space Toggle category and focus next
X, ShiftSpace Toggle category and focus previous
v Invert topics / media as per focus

Filter and Link Menus

z Toggle filter / linking mode

Credits Menu

Enter Open URL (in new tab)
0:22Recap and plan for today
0:22Recap and plan for today
0:22Recap and plan for today
2:02Preventing eviction of locked assets (those used in background tasks)
2:02Preventing eviction of locked assets (those used in background tasks)
2:02Preventing eviction of locked assets (those used in background tasks)
4:06We never lock any asset; let's lock some
4:06We never lock any asset; let's lock some
4:06We never lock any asset; let's lock some
7:01Not locking sounds
7:01Not locking sounds
7:01Not locking sounds
7:55The render group knows whether an asset should be locked or not
7:55The render group knows whether an asset should be locked or not
7:55The render group knows whether an asset should be locked or not
8:21Safeguarding against caller mistakes
8:21Safeguarding against caller mistakes
8:21Safeguarding against caller mistakes
12:41Preventing the eviction of assets before they are completely loaded
12:41Preventing the eviction of assets before they are completely loaded
12:41Preventing the eviction of assets before they are completely loaded
15:54Testing the changes
15:54Testing the changes
15:54Testing the changes
16:26Moving the most recently used asset to the front of the linked list
16:26Moving the most recently used asset to the front of the linked list
16:26Moving the most recently used asset to the front of the linked list
22:04Getting the header from the slot is tricky
22:04Getting the header from the slot is tricky
22:04Getting the header from the slot is tricky
29:29MoveHeaderToFront should only affect loaded bitmaps
29:29MoveHeaderToFront should only affect loaded bitmaps
29:29MoveHeaderToFront should only affect loaded bitmaps
30:14Deciding to clean up the loaded asset code
30:14Deciding to clean up the loaded asset code
30:14Deciding to clean up the loaded asset code
30:30"Locked" as a flag, independent of asset loading stage
30:30"Locked" as a flag, independent of asset loading stage
30:30"Locked" as a flag, independent of asset loading stage
36:48Checking the commit size of the game on the Windows task manager. Casey's head gets in the way; see Q at 01:01:43
36:48Checking the commit size of the game on the Windows task manager. Casey's head gets in the way; see Q at 01:01:43
36:48Checking the commit size of the game on the Windows task manager. Casey's head gets in the way; see Q at 01:01:43
39:06Simplifying the loaded asset infrastructure
39:06Simplifying the loaded asset infrastructure
39:06Simplifying the loaded asset infrastructure
40:29Merging asset slot and asset
40:29Merging asset slot and asset
40:29Merging asset slot and asset
44:24Condensing everything necessary to work with an asset into the asset header
44:24Condensing everything necessary to work with an asset into the asset header
44:24Condensing everything necessary to work with an asset into the asset header
52:49Storing the size of the loaded asset instead of its type
52:49Storing the size of the loaded asset instead of its type
52:49Storing the size of the loaded asset instead of its type
54:01Some debugging
54:01Some debugging
54:01Some debugging
58:39Removing GetSizeOfAsset
58:39Removing GetSizeOfAsset
58:39Removing GetSizeOfAsset
1:00:55Q&A
🗩
1:00:55Q&A
🗩
1:00:55Q&A
🗩
1:01:43ttbjm Your head was over the window when you were looking at the commit size
🗪
1:01:43ttbjm Your head was over the window when you were looking at the commit size
🗪
1:01:43ttbjm Your head was over the window when you were looking at the commit size
🗪
1:02:59constantinopol The linked-list way of computing least-used asset seems like a simple and neat trick. What are its drawbacks?
🗪
1:02:59constantinopol The linked-list way of computing least-used asset seems like a simple and neat trick. What are its drawbacks?
🗪
1:02:59constantinopol The linked-list way of computing least-used asset seems like a simple and neat trick. What are its drawbacks?
🗪
1:05:58manicthenobody Garlandobloom may be too drunk today
🗪
1:05:58manicthenobody Garlandobloom may be too drunk today
🗪
1:05:58manicthenobody Garlandobloom may be too drunk today
🗪
1:06:11gasto5 Can you explain the code in which you changed the asset loading so that it stops blinking (the bitmaps and sounds)?
🗪
1:06:11gasto5 Can you explain the code in which you changed the asset loading so that it stops blinking (the bitmaps and sounds)?
🗪
1:06:11gasto5 Can you explain the code in which you changed the asset loading so that it stops blinking (the bitmaps and sounds)?
🗪
1:13:53culver_fly Will there be a concern of cache misses while manipulating the doubly linked lists every frame?
🗪
1:13:53culver_fly Will there be a concern of cache misses while manipulating the doubly linked lists every frame?
🗪
1:13:53culver_fly Will there be a concern of cache misses while manipulating the doubly linked lists every frame?
🗪
1:15:16graeme7 You've got a TODO about the size of the audio asset struct. How important do you think it is to keep structs compact? -- (Casey undoes the size shrinking of LoadedBitmap, since now it's included in the asset header and not in the asset slot (blackboard))
🗪
1:15:16graeme7 You've got a TODO about the size of the audio asset struct. How important do you think it is to keep structs compact? -- (Casey undoes the size shrinking of LoadedBitmap, since now it's included in the asset header and not in the asset slot (blackboard))
🗪
1:15:16graeme7 You've got a TODO about the size of the audio asset struct. How important do you think it is to keep structs compact? -- (Casey undoes the size shrinking of LoadedBitmap, since now it's included in the asset header and not in the asset slot (blackboard))
🗪
1:20:20braincruser Do you have a hard drive to check this system on it?
🗪
1:20:20braincruser Do you have a hard drive to check this system on it?
🗪
1:20:20braincruser Do you have a hard drive to check this system on it?
🗪
1:20:38captainduh Is there a problem setting the asset header to null after unlocking it? I thought there was some background loading of some stuff
🗪
1:20:38captainduh Is there a problem setting the asset header to null after unlocking it? I thought there was some background loading of some stuff
🗪
1:20:38captainduh Is there a problem setting the asset header to null after unlocking it? I thought there was some background loading of some stuff
🗪
1:21:19breadthofhair Is the heap and the stack just different sections of RAM, managed by the OS? Also, if so, do different programs ever share stack space? Would you please shed some light on this or point me to some video of yours that I missed?
🗪
1:21:19breadthofhair Is the heap and the stack just different sections of RAM, managed by the OS? Also, if so, do different programs ever share stack space? Would you please shed some light on this or point me to some video of yours that I missed?
🗪
1:21:19breadthofhair Is the heap and the stack just different sections of RAM, managed by the OS? Also, if so, do different programs ever share stack space? Would you please shed some light on this or point me to some video of yours that I missed?
🗪
1:22:25breadthofhair I'm confused as to what the memory layout will be after using the doubly linked list for a while? The memory will fragment eventually as of now, no?
🗪
1:22:25breadthofhair I'm confused as to what the memory layout will be after using the doubly linked list for a while? The memory will fragment eventually as of now, no?
🗪
1:22:25breadthofhair I'm confused as to what the memory layout will be after using the doubly linked list for a while? The memory will fragment eventually as of now, no?
🗪
1:23:32constantinopol Couldn't we use just use a 'IsLocked' bool, inside 'Asset->Header' struct?
🗪
1:23:32constantinopol Couldn't we use just use a 'IsLocked' bool, inside 'Asset->Header' struct?
🗪
1:23:32constantinopol Couldn't we use just use a 'IsLocked' bool, inside 'Asset->Header' struct?
🗪
1:23:50groggeh Won't this method of swapping the assets cause memory fragmentation?
🗪
1:23:50groggeh Won't this method of swapping the assets cause memory fragmentation?
🗪
1:23:50groggeh Won't this method of swapping the assets cause memory fragmentation?
🗪
1:27:47captainduh So something like this can't happen? Asset evict function is called, release happens, unlock happens, thread context switches to loader, something gets loaded into that slot with some header, thread context switches back, header is cleared to 0
🗪
1:27:47captainduh So something like this can't happen? Asset evict function is called, release happens, unlock happens, thread context switches to loader, something gets loaded into that slot with some header, thread context switches back, header is cleared to 0
🗪
1:27:47captainduh So something like this can't happen? Asset evict function is called, release happens, unlock happens, thread context switches to loader, something gets loaded into that slot with some header, thread context switches back, header is cleared to 0
🗪
1:30:37jameswidman Is it possible that, due to the kernel caching disk accesses, we're paying more than once for each asset? Like, after we evict an asset, is another copy of it likely to be cached in physical memory because of the OS's caching of the pack file?
🗪
1:30:37jameswidman Is it possible that, due to the kernel caching disk accesses, we're paying more than once for each asset? Like, after we evict an asset, is another copy of it likely to be cached in physical memory because of the OS's caching of the pack file?
🗪
1:30:37jameswidman Is it possible that, due to the kernel caching disk accesses, we're paying more than once for each asset? Like, after we evict an asset, is another copy of it likely to be cached in physical memory because of the OS's caching of the pack file?
🗪