Skip to content

Idea: cache trajectory agent info in gpu buffers #439

@toloudis

Description

@toloudis

Use Case

Can we get performance gains from keeping trajectory data in gpu memory?

Acceptance Criteria

This idea needs more vetting. Acceptance is a decision on whether it's worth it to pursue a full implementation, delay till later, or abandon.

Details

Suppose a whole frame of agent data were stored in a gpu buffer. Could we use indirect or instanced rendering to index into the buffer to get agent info for rendering?
Could we store multiple frames of the trajectory in the same buffer? Would we need a separate buffer per frame? (Synchronization: Could you write to one section of the buffer while rendering is reading from another section?)
What data would we want in the buffer for shaders to be able to use it for anything useful?
This would have to be reconciled with the big loop in updateScene...

Complications: the way we do instanced tube rendering for fiber curves, the way we do PDB rendering with LoD. GPU-side caching could be most effective for simple sphere instanced agents. For sphere-only trajectories, gpu side caching would be extremely efficient for renders.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions