Comments (13)
The sample cache is not really useful in any real application and isnt' likely
going to be fixed.
Original comment by [email protected]
on 24 Aug 2011 at 11:39
- Added labels: Milestone-General_Backlog
- Removed labels: Milestone-1.1
from alembic.
Lucas, can you elaborate a bit more on that? Why wouldn't the cache be useful
in any case ever...?
Original comment by [email protected]
on 24 Aug 2011 at 11:51
from alembic.
Technically Brian mentioned this, but I will defend it anyway, since I agree
with it.
First, he didn't say it wasn't ever useful, it's just not useful in practice,
here is why:
All of the applications I've dealt with, OpenGL, Maya, Katana, etc, have their
own internal structures that you need to copy the data into, so you ALWAYS need
to copy over the data from the ArraySamplePtr into the GLFloat array,
MFloatArray or whatever.
The plugin developer will want to store this in their applications native cache
form when available anyway, so if they happened to use Alembics cache and their
application specific cache, they would be using twice as much memory, this is
clearly very bad.
The very best way to do reading at the lower levels is to have 3 different
methods:
1. read just the key (already have)
2. read just the data, but not the key (don't have)
3. read the data and the key (currently happens via the read which gets the
ArraySamplePtr)
Original comment by miller.lucas
on 25 Aug 2011 at 12:18
from alembic.
Okay, sorry for the misattribution (I swear I saw your name on it but I see
Brian's now :) And thanks for reminding me about the need to copy out to
internal data structures in many cases. My gut still says there is a future
where code could be re-worked to pull or draw directly from the abc stream and
not copy and the promise of keeping one copy of the geom in memory when drawing
bazillions of something is still tantalizing, I would hate to see fixing this
get completely put off. The original note implied this should just be ignored
but please let's not. Not the hottest priority perhaps, but not the lowest
either.
Thanks,
Original comment by [email protected]
on 25 Aug 2011 at 10:37
from alembic.
The problem is that the one copy you want to keep in memory is an application
specific copy.
Original comment by miller.lucas
on 25 Aug 2011 at 10:40
- Added labels: Priority-P3
- Removed labels: Priority-P0
from alembic.
Original comment by [email protected]
on 25 Aug 2011 at 10:50
- Added labels: Milestone-1.1Disc
- Removed labels: Milestone-General_Backlog
from alembic.
Original comment by [email protected]
on 27 Aug 2011 at 12:00
- Added labels: EstimateInDays-7
from alembic.
Adding to Milestone 1.1
Original comment by [email protected]
on 6 Sep 2011 at 11:10
- Added labels: Milestone-1.1
from alembic.
Original comment by [email protected]
on 19 Sep 2011 at 9:51
from alembic.
hdf5 internally caches all data access anyway.
If you want more cache, you can simply read about how it works and how to set
it in the hdf5 documentation here:
http://www.hdfgroup.org/HDF5/doc/H5.user/Caching.html
I'm not sure why you would want to duplicate such functionality in Alembic,
since it's underlying subsystem (hdf5) already does this perfectly well.
Original comment by [email protected]
on 16 Feb 2012 at 1:49
from alembic.
The keys allow you to avoid reading the same data in different HDF5 files.
We aren't duplicating hdf5's caching functionality in Alembic.
Original comment by miller.lucas
on 16 Feb 2012 at 5:22
- Changed state: New
from alembic.
Original comment by miller.lucas
on 25 Jun 2012 at 6:43
- Changed state: Triage
from alembic.
Original comment by miller.lucas
on 13 Sep 2013 at 5:51
- Changed state: WontFix
from alembic.
Related Issues (20)
- AbcExport seems it cannot compute bounding box correctly for some geometry. HOT 4
- Could add a -version or -debug flag to renderman procedural HOT 4
- SimpleAbcViewer aborts with SEGV, hdf5 missing attribute exception, exception in free() HOT 9
- Murmur3.cpp - BOOST_BIG_ENDIAN with PPC32 HOT 5
- refactor AbcGeom schema classes with a base type GeomBaseSchema HOT 4
- Point positions are V3f instead of P3f (houdini updates?) HOT 4
- Add new copyright header HOT 1
- AbcExport typo. HOT 5
- Need to support building Alembic libs as DSOs vs. static archives HOT 3
- Maya AbcExport does not preserve hard edges HOT 5
- New utility abcinfo that would report useful information about an alembic file - fps, timing, aggregate num objects in file HOT 6
- Maya AbcImport has inconsistency behavior when checking if a poly mesh is animated or not HOT 6
- Cannot build shared libs with Alembic 1.0 HOT 7
- SimpleAbcViewer not respecting IXformSchema::getInheritsXforms() HOT 12
- Read/Write per face per vertex color out of Maya for I/O PolyMesh/SubD HOT 6
- ArchvieINfo, decompose and refactor CreateArchiveWithInfo HOT 3
- Create exampoe code to show best-practice means to stream in IArchive HOT 4
- Tool to take two alembic input files and report differences HOT 7
- Tool that could build deltas (patches) and generate new alembic files HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alembic.