-
Notifications
You must be signed in to change notification settings - Fork 150
[docs] Expand Kanvas performance documentation with user-facing guidance #877
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
✅ Deploy Preview for bejewelled-pegasus-b0ce81 ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
… and optimizations Co-authored-by: hortison <160366376+hortison@users.noreply.github.com>
Co-authored-by: hortison <160366376+hortison@users.noreply.github.com>
leecalcote
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@copilot re-work this writing to be user-facing. Help the user understand performance limits, what affects performance, how they can control performance via functionality tradeoff and so on.
Co-authored-by: leecalcote <7570704+leecalcote@users.noreply.github.com>
Rewritten the documentation to be user-facing. Removed all technical implementation details (plugin names, PR references, internal metrics like "memoization TTL" and "viewport culling") and replaced them with practical, actionable guidance focused on what users experience and can control. Key changes:
Commit: b793e43 |
Co-authored-by: leecalcote <7570704+leecalcote@users.noreply.github.com>
Notes for Reviewers
This PR addresses a significant documentation gap by adding comprehensive, user-facing performance guidance to help Kanvas users understand performance limits, what affects performance, and how to control performance through functionality tradeoffs.
Description
Added seven major sections to
/content/en/kanvas/advanced/performance/index.mdwith user-centric content:User-Facing Performance Guidance
What Affects Performance: Explains how grouped components impact responsiveness, symptoms users experience (lag, slow loading, choppy interactions), and automatic optimizations Kanvas provides. Includes user experience improvement table showing 90% performance gains.
Managing Design Complexity: Describes interactive features (alignment guides, relationship management, tooltips, resize handles) and their performance impact. Provides practical tips for handling slowness through the Layers panel, design organization, and workflow strategies.
How Kanvas Keeps Things Fast: Explains automatic performance optimizations using relatable analogies (word processor example). Focuses on benefits users experience: quick responses, smooth interactions, and consistent performance.
Working with Different Zoom Levels: Describes three zoom modes (Overview, Working, Detail) and how Kanvas progressively shows more or less detail based on zoom level. Provides strategic guidance on using zoom for better performance.
Testing & Optimization
Testing Your Design's Performance: Practical test scenarios (small/medium/large designs, complex nesting) with simple responsiveness checks. Replaces technical metrics with user-relatable questions like "does dragging feel smooth?"
Future Improvements: Brief description of ongoing performance optimization work without technical implementation details.
Special URL Options for Performance: Documents
render=fullparameter with clear "When to Use / When NOT to Use" guidance and practical microservices example showing the performance/features tradeoff.All sections use conversational language, practical examples, and actionable advice. Technical jargon, plugin names, internal metrics, and PR references have been removed to focus on what users can understand and control.
Signed commits
Original prompt
Overview
The Kanvas performance documentation at
content/en/kanvas/advanced/performance/index.mdneeds to be significantly expanded to include detailed performance analysis, optimization techniques, and best practices gathered from extensive development work documented in thelayer5labs/meshery-extensionsrepository.Context
The
layer5labs/meshery-extensionsrepository contains detailed performance analysis and optimizations in issues and pull requests that have not been publicly documented. This information is valuable for users and developers working with Kanvas.Current Documentation Gap
The existing performance documentation covers:
Content to Add
1. Compound Node Rendering Performance
Source: PR #3917, Issue #3916
Add a new section documenting:
Root Cause Analysis:
@layer5/cytoscape-node-html-labelplugin is a primary performance bottleneck for compound nodes with many childrennode[?label]matches virtually every nodePerformance Metrics:
Optimizations Implemented:
2. Cytoscape Plugin Performance Considerations
Sources: Multiple PRs including #3885, #3887, #3500
Document the following plugin performance considerations:
3. State Management and Rendering Optimizations
Sources: PR #3448, PR #3595, PR #3121, PR #3114
Add guidance on:
4. Zoom and Viewport Performance
Sources: PR #3528, PR #3711, PR #2292
Document:
5. Performance Testing Guidelines
Add a section on testing performance with:
Test Scenarios:
Target Metrics:
6. Long-term Architecture Recommendations
Document future optimization paths:
7. URL Parameters for Performance
Link to the existing URL parameters documentation and add performance-related parameters:
render_full_design=true: Force co...This pull request was created as a result of the following prompt from Copilot chat.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.