Skip to Content
ExamplesNodes

Stress Test

This example shows how Vue Flow performs when rendering hundreds of nodes and edges.

import type { Edge, Node } from '@xyflow/vue'; // px strings on `style` (Vue's `:style` doesn't px-ify numeric values) export function initialElements(xNodes = 10, yNodes = 10): { nodes: Node[]; edges: Edge[] } { const nodes: Node[] = []; const edges: Edge[] = []; let nodeId = 1; let recentNodeId: number | null = null; for (let y = 0; y < yNodes; y++) { for (let x = 0; x < xNodes; x++) { const position = { x: x * 100, y: y * 50 }; const data = { label: `Node ${nodeId}` }; nodes.push({ id: `stress-${nodeId}`, style: { width: '50px', fontSize: '11px' }, data, position, }); if (recentNodeId && nodeId <= xNodes * yNodes) { edges.push({ id: `${x}-${y}`, source: `stress-${recentNodeId}`, target: `stress-${nodeId}`, }); } recentNodeId = nodeId; nodeId++; } } return { nodes, edges }; }
Last updated on