User Guide
Contents
User Interface Overview
DenseDraw features a clean, professional interface designed for efficient graph exploration and analysis. The interface is optimized for working with large datasets while maintaining intuitive controls.
Main Interface Components
Graph Viewport
The central area where your graph is displayed. Supports smooth zooming, panning, and real-time interaction with millions of nodes and edges.
Information Panel
Side panel showing graph statistics, node count, edge count, and current selection information.
Window Title
Window title displays the current graph name and statistics (node count, edge count).
Debug Overlay
Optional debug information overlay (F12) showing performance metrics and system status.
Tab System
DenseDraw supports multiple graph tabs, allowing you to work with several datasets simultaneously. Each tab maintains its own graph data and selection state.
Supported File Formats
DenseDraw supports a variety of popular graph and data formats, making it easy to import your existing datasets.
CSV Files (.csv)
Comma-separated values with automatic delimiter detection.
- Supports comma, space, and tab delimiters
- Automatic format detection
- Node and edge data parsing
GraphML (.graphml, .xml)
XML-based graph description format.
- Node and edge definitions
- Position data preservation
- Attribute support
DOT Files (.dot)
Graphviz DOT format for graph definitions.
- Standard DOT syntax
- Node and edge declarations
- Basic attribute parsing
Compressed Archives
Support for compressed graph files.
- TAR.GZ archives (.tar.gz)
- TGZ files (.tgz)
- Automatic decompression
File Size Limits
DenseDraw is optimized for large datasets:
- CSV Files: Up to several GB in size
- Node Count: Tested with over 1 million nodes
- Edge Count: Tested with over 10 million edges
- Memory Usage: Efficient processing minimizes RAM requirements
Importing Your Data
File Loading Process
DenseDraw provides simple file loading with automatic format detection:
- File Selection: Use Ctrl+O to open the file dialog
- Format Detection: Automatic detection based on file extension
- Processing: Files are loaded with progress indication
- Positioning: Nodes are automatically positioned if no layout data exists
CSV Processing
CSV files are processed with intelligent parsing:
- Automatic delimiter detection (comma, space, tab)
- Support for both node lists and edge lists
- Handles various CSV structures automatically
Error Handling
File loading includes robust error handling:
- Clear error messages for unsupported formats
- File size and memory validation
- Progress tracking for large files
Graph Interaction
Selection System
DenseDraw provides rectangle-based selection for working with large graphs:
Rectangle Selection
Drag with left mouse button to create a selection rectangle. All nodes within the rectangle are selected automatically using GPU-accelerated processing.
Selection Information
The interface displays information about selected nodes:
- Total count of selected nodes
- Node identifiers and names
- Position coordinates
- Distance from selection center
Visualization Options
Node Positioning
DenseDraw handles node positioning with intelligent algorithms:
Automatic Layout
Intelligent positioning system for new graphs.
- Random initial positioning within view bounds
- Collision detection and resolution
- Spatial hashing for efficient processing
- Optimized for large node counts
Position Preservation
Maintains node positions from input files.
- Loads existing positions from GraphML files
- Preserves coordinate systems
- Collision resolution for overlapping nodes
- Coordinate bounds validation
Visual Rendering
- High-Performance Rendering: GPU-accelerated node and edge drawing
- Real-time Updates: Smooth rendering optimized for large graphs
- Zoom-Responsive: Maintains visual quality at all zoom levels
- Selection Highlighting: Visual feedback for selected nodes
Performance Tips
Working with Large Graphs
Best practices for optimal performance with massive datasets:
- Start Small: Preview your data with a subset before loading the full dataset
- Use Filtering: Filter out unnecessary elements to focus on relevant data
- Adjust Detail Levels: Reduce visual complexity for smoother interaction
- GPU Memory: Ensure adequate graphics memory for very large graphs
- System Memory: Have sufficient RAM for data processing
Built-in Optimizations
- GPU Acceleration: All rendering happens on the graphics card
- Efficient Collision Detection: Spatial hashing for fast node placement
- Memory Management: Advanced leak detection and monitoring
- Progressive Loading: Large files load with progress indication
Hardware Recommendations
- Graphics Card: Dedicated GPU with 2GB+ VRAM recommended
- System RAM: 16GB recommended for large graphs
- Storage: SSD recommended for faster data loading
- Display: High-resolution monitor for detailed visualization
Debug Information
Press F12 to toggle debug information display, which shows performance metrics and system status.