Viewer Architecture

From Second Life Wiki
Jump to navigation Jump to search

Sub-Systems

  • Asset System
  • Inventory
  • Rendering
    • AGP
    • Drawables
    • viewer object
    • avatar
    • octtree
  • UI
  • Media
  • Sound
  • IPC
    • TCP/pipes & pumps
    • llmessagesystem
  • VFS

Threads

The viewer is a single process with a few threads:

  • Main thread -- The input/output main program function.
  • VFS Thread -- Thread responsible for reading/writing to the virtual file system.
  • LFS Thread -- Thread responsible for some reading/writing to the local file system.

Program Flow

  • Initialize
  • Loop
    • Gathers input
    • Pumps the TCP i/o
    • Render the frame
  • Shutdown