In short, GL is forcing us to cache?
No ... GL is caching for you!
You can create as many objects as you want to, the
only limit is your RAM/page file.
OpenGL will then upload them to the graphics card
as needed. Think of the graphics card as a cache
for the objects in main RAM.
--
<\___/>
/ O O \
\_____/ FTB.
http://www.topaz3d.com/ - New 3D editor for real time simulation
> On Dec 4, 5:30 pm, keith <johndoe64...@yahoo.com> wrote:
> >
> > In short, GL is forcing us to cache?
>
> No ... GL is caching for you!
>
> You can create as many objects as you want to, the
> only limit is your RAM/page file.
>
> OpenGL will then upload them to the graphics card
> as needed. Think of the graphics card as a cache
> for the objects in main RAM.
>
is it not wast of resources to keep this data doubled? One object should
be keeped only in main ram or only in graphics ram.
--
Maybe the driver writers are smart enough to do that...it's
up to them how it actually works.
"Waste" only in virtual memory. And, if done so, then you can get into the
horrible problem of being forced to read back (potentially hundreds of
megabytes) with every frame. With duplication, the in-graphics copy can just
be overwritten with the new data that needs to be paged in.
The "waste" is indeed a big problem on 32-bit Windows and duplicating up to
1 Gig of on-card ram, since you only have about 1.5 or so gigs of virtual
memory for an application. But with 64-bits, it's much less of an issue.
Old SGI Infinite Reality boxes only had one copy and did this read-write bit
to horrible consequences.
jbw
--
When you run out of memory in the GPU, that approach will double the
amount of traffic - and - unless you keep some memory reserved for
uploading, you have to wait for download to finish until you can
upload to the same memory space. Like it wasn't slow enough already.