| ▲ | SergeAx 10 days ago | |||||||||||||||||||||||||||||||||||||||||||||||||
Is it really possible to control file locations on HDD via Windows NTFS API? | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | dontlaugh 10 days ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
No, not at all. But by putting every asset a level (for example) needs in the same file, you can pretty much guarantee you can read it all sequentially without additional seeks. That does force you to duplicate some assets a lot. It's also more important the slower your seeks are. This technique is perfect for disc media, since it has a fixed physical size (so wasting space on it is irrelevant) and slow seeks. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | toast0 2 days ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||||||||||||||
Not really. But when you write a large file at once (like with an installer), you'll tend to get a good amount of sequential allocation (unless your free space is highly fragmented). If you load that large file sequentially, you benefit from drive read ahead and OS read ahead --- when the file is fragmented, the OS will issue speculative reads for the next fragment automatically and hide some of the latency. If you break it up into smaller files, those are likely to be allocated all over the disk; plus you'll have delays on reading because windows defender makes opening files slow. If you have a single large file that contains all resources, even if that file is mostly sequential, there will be sections that you don't need, and read ahead cache may work against you, as it will tend to read things you don't need. | ||||||||||||||||||||||||||||||||||||||||||||||||||