![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Darren New <dne### [at] san rr com> wrote:
> Actually, since most of the time seems to be spent pulling the level off the
> HD or DVD, I would think you could pre-buffer the files at least. *That*
> should be pretty trivial to implement, even if unpacking the levels into
> individual objects and such can't be done easily. I'd imagine that would
> reduce loading times a bunch.
I'm not so intimately acquainted with the PC architecture to know for
sure, but how much can disk-to-RAM data transfer be made in parallel
with everything else a game can do, in terms of memory bus usage (iow.
does disk I/O have to share, and hence compete for, the same memory
bus as the CPU and, more significantly, the GPU, when transferring data
from the main RAM to it)?
I know that the DMA chip allows transferring data between RAM and the
different devices without the need for the CPU to do anything (other
than launching the transfer), so things like pre-loading data from disk
to memory takes zero CPU time. However, I'm thinking how much congestion
it causes on the memory bus, and if it could have a negative impact on
data transfer performance in other critical areas (such as transferring
data from the main RAM to the GPU, which happens all the time).
Of course there are many games, especially the open sandbox type ones,
which are specifically *designed* to load data on the fly, avoiding any
loading pauses completely. However, can speeding up level data loading by
pre-loading data on the background using available free memory be done
without the game engine having been specifically designed to do so?
--
- Warp
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 2/13/2012 9:02, Warp wrote:
> does disk I/O have to share, and hence compete for, the same memory
> bus as the CPU
On modern desktop type machines, I think the disk probably steals memory
cycles from the CPU. That's a good point. On the other hand, what's the
transfer rate of even a fast disk? 120MBps?
> and, more significantly, the GPU, when transferring data
> from the main RAM to it)?
I wouldn't think the disk's DMA would affect CPU->GPU at all, since AGP bus
and later, but I'm not sure. Of course, the CPU has to read from the RAM as
well, so it's hard to say.
> data transfer performance in other critical areas (such as transferring
> data from the main RAM to the GPU, which happens all the time).
An excellent point I hadn't considered. Honestly, I haven't really thought
about this stuff since the generations of machines where RAM is faster than
CPUs. :-)
That said, given that a level in Portal (say) can take a couple minutes to
go through, and a level takes maybe 15 seconds to load, keeping the transfer
rate down to 1M/s or something might even speed things up there. Especially
when you're talking about loading it off a DVD instead of a HD, where the
seek times will still dominate.
--
Darren New, San Diego CA, USA (PST)
People tell me I am the counter-example.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> data transfer performance in other critical areas (such as transferring
>> data from the main RAM to the GPU, which happens all the time).
>
> An excellent point I hadn't considered. Honestly, I haven't really
> thought about this stuff since the generations of machines where RAM is
> faster than CPUs. :-)
My graphics card has just under 1GB of on-board RAM. I would expect that
once all the textures and meshes and so forth have been uploaded over
the AGP bus (or PCI-X or whatever you're using today), the GPU probably
requires minimal bandwidth from main memory. Certainly not enough that
the piffling transfer rate of the disk drive would affect it in the
slightest.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |