Skip to content
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

Lowering draw calls #6544

Closed
kazcw opened this issue May 4, 2023 · 25 comments · Fixed by #6707
Closed

Lowering draw calls #6544

kazcw opened this issue May 4, 2023 · 25 comments · Fixed by #6707
Assignees

Comments

@kazcw
Copy link
Contributor

kazcw commented May 4, 2023

Continue applying the ideas and tools described in #6001 to improve rendering performance by reducing the number of distinct draw calls.

@kazcw kazcw self-assigned this May 4, 2023
@github-project-automation github-project-automation bot moved this to ❓New in Issues Board May 4, 2023
@kazcw kazcw moved this from ❓New to 🔧 Implementation in Issues Board May 4, 2023
@enso-bot
Copy link

enso-bot bot commented May 4, 2023

Keziah Wesley reports a new STANDUP for yesterday (2023-05-02):

Progress: Switching focus back to performance; continuing Rectangle integration.
Sketching design for a future layers API that will eliminate the need for components to refer to hard-coded layers or partitions, focusing for now on whether there's a subset of this design I can implement quickly to avoid adding a lot of new hard-coding when transitioning one-off shapes to Rectangles. It should be finished by 2023-05-08.

Next Day: Next day I will be working on the #6544 task. Continuing Rectangle integration.

@enso-bot
Copy link

enso-bot bot commented May 5, 2023

Keziah Wesley reports a new STANDUP for yesterday (2023-05-03):

Progress: A limited version of the future order-constraints API, that only supports within-symbol partition ordering, would be simple to implement; but I think it wouldn't help much with the increased need for hardcoded layer references, because transitioning unique symbols to Rectangles also creates Rectangle/other shape relationships. For now I'm moving ahead with a bit of hard-coding. It should be finished by 2023-05-08.

Next Day: Next day I will be working on the #6544 task. Continue integrating Rectangle.

@enso-bot
Copy link

enso-bot bot commented May 5, 2023

Keziah Wesley reports a new STANDUP for today (2023-05-04):

Progress: Focusing on the Node shapes today, which are a complex case, but will eliminate several shapes. It should be finished by 2023-05-08.

Next Day: Next day I will be working on the #6544 task. Connections.

@enso-bot
Copy link

enso-bot bot commented May 6, 2023

Keziah Wesley reports a new STANDUP for today (2023-05-05):

Progress: Started on single-shader edges. I will need to rewrite a lot of the edges code, but this will cut a lot of draw calls. It should be finished by 2023-05-08.

Next Day: Next day I will be working on the #6544 task. Continue on edges.

@enso-bot
Copy link

enso-bot bot commented May 9, 2023

Keziah Wesley reports a new 🔴 DELAY for the last Friday (2023-05-05):

Summary: There is 4 days delay in implementation of the Lowering draw calls (#6544) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: I am doing more than 5 days of layer-reduction work because it's a lot of small changes that interact with each other and need to be heavily tested together, so it's efficient to batch them.

@enso-bot
Copy link

enso-bot bot commented May 9, 2023

Keziah Wesley reports a new STANDUP for today (2023-05-08):

Progress: I set up a development environment on the 2020 M1 MacBook Air, which ended up taking most of the day. The results of a performance test on the machine were surprising; the real problem is that when the CPU starts getting saturated, we handle hover events in-order instead of skipping as necessary to handle them in a realtime manner, so we get terrible lag even with ok FPS. It should be finished by 2023-05-12.

Next Day: Next day I will be working on the #6544 task. Continue on single-shader edges.

@enso-bot
Copy link

enso-bot bot commented May 10, 2023

Keziah Wesley reports a new STANDUP for today (2023-05-09):

Progress: Implemented layout algorithm for Rectangle-based edges. It should be finished by 2023-05-12.

Next Day: Next day I will be working on the #6544 task. Extend Rectangle edge model to include new versions of hover-extensions and hover-focus / disconnected edges.

@enso-bot
Copy link

enso-bot bot commented May 12, 2023

Keziah Wesley reports a new STANDUP for yesterday (2023-05-10):

Progress: Implemented hover zone, focus logic, and most of focus rendering. It should be finished by 2023-05-12.

Next Day: Next day I will be working on the #6544 task. Several small visual issues, and some FRP integration.

@enso-bot
Copy link

enso-bot bot commented May 12, 2023

Keziah Wesley reports a new STANDUP for today (2023-05-11):

Progress: Fixed misc visual cases; FRP integration. It should be finished by 2023-05-12.

Next Day: Next day I will be working on the #6544 task. One last piece of focus rendering, check rounding-error tolerances, test test test.

@kazcw kazcw mentioned this issue May 16, 2023
5 tasks
@enso-bot
Copy link

enso-bot bot commented May 17, 2023

Keziah Wesley reports a new 🔴 DELAY for yesterday (2023-05-15):

Summary: There is 3 days delay in implementation of the Lowering draw calls (#6544) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: Many details and edge cases.

@enso-bot
Copy link

enso-bot bot commented May 17, 2023

Keziah Wesley reports a new STANDUP for yesterday (2023-05-15):

Progress: Finished last part of implementation (arc splitting). It should be finished by 2023-05-15.

Next Day: Next day I will be working on the #6544 task. Testing, then start next task.

@kazcw kazcw moved this from 🔧 Implementation to 👁️ Code review in Issues Board May 19, 2023
@enso-bot
Copy link

enso-bot bot commented May 20, 2023

Keziah Wesley reports a new 🔴 DELAY for yesterday (2023-05-18):

Summary: There is 3 days delay in implementation of the Lowering draw calls (#6544) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: Started working on other bugs. While addressing review (adding docs) cleaned up the organization.

@enso-bot
Copy link

enso-bot bot commented May 20, 2023

Keziah Wesley reports a new STANDUP for yesterday (2023-05-18):

Progress: Docs and organization. It should be finished by 2023-05-18.

Next Day: Next day I will be working on the #6772 task. Look in to handling large numbers of messages.

@enso-bot
Copy link

enso-bot bot commented May 24, 2023

Keziah Wesley reports a new 🔴 DELAY for today (2023-05-23):

Summary: There is 6 days delay in implementation of the Lowering draw calls (#6544) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: Received review, will need a little more work.

@enso-bot
Copy link

enso-bot bot commented May 24, 2023

Keziah Wesley reports a new STANDUP for today (2023-05-23):

Progress: Implementing review, fixing visual details. It should be finished by 2023-05-24.

Next Day: Next day I will be working on the #6674 task. Final bits of #6544, then go through my assigned performance bugs and diagnose them.

@enso-bot
Copy link

enso-bot bot commented May 26, 2023

Keziah Wesley reports a new 🔴 DELAY for yesterday (2023-05-24):

Summary: There is 1 day delay in implementation of the Lowering draw calls (#6544) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: Some discussions took much of the day.

@enso-bot
Copy link

enso-bot bot commented May 26, 2023

Keziah Wesley reports a new STANDUP for yesterday (2023-05-24):

Progress: A lot of meeting time and associated research today. It should be finished by 2023-05-25.

Next Day: Next day I will be working on the #6674 task. Finish #6544.

@enso-bot
Copy link

enso-bot bot commented May 26, 2023

Keziah Wesley reports a new STANDUP for today (2023-05-25):

Progress: Added an overlay of the old edges to the demo scene, so I can compare them exactly. Fixed all the differences. It should be finished by 2023-05-25.

Next Day: Next day I will be working on the #6674 task. Final testing for #6544. Breadth-first look at the performance bugs.

@enso-bot
Copy link

enso-bot bot commented May 30, 2023

Keziah Wesley reports a new 🔴 DELAY for the last Friday (2023-05-26):

Summary: There is 4 days delay in implementation of the Lowering draw calls (#6544) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: Complex to match behavior in all edge cases with new logic.

@enso-bot
Copy link

enso-bot bot commented May 30, 2023

Keziah Wesley reports a new STANDUP for the last Friday (2023-05-26):

Progress: Fixed some subtle but noticeable glitches when hovering. Fixed some layout differences. It should be finished by 2023-05-29.

Next Day: Next day I will be working on the #6544 task. Fix last layout difference.

@enso-bot
Copy link

enso-bot bot commented May 31, 2023

Keziah Wesley reports a new STANDUP for yesterday (2023-05-29):

Progress: Designing Rectangle triangle API and implementation geometry. It should be finished by 2023-05-29.

Next Day: Next day I will be working on the #6544 task. Finish, use new triangles. Implement correct source line angles.

@enso-bot
Copy link

enso-bot bot commented Jun 1, 2023

Keziah Wesley reports a new 🔴 DELAY for yesterday (2023-05-30):

Summary: There is 2 days delay in implementation of the Lowering draw calls (#6544) task.
It will cause 0 days delay for the delivery of this weekly plan.

Delay Cause: Spent a lot of time on triangle API and geometry, but we'll be able to use it in other places too.

@enso-bot
Copy link

enso-bot bot commented Jun 1, 2023

Keziah Wesley reports a new STANDUP for yesterday (2023-05-30):

Progress: Finished the Rectangle triangles. Changed "shark fin" case to simpler behavior than old edges. It should be finished by 2023-05-31.

Next Day: Next day I will be working on the #6544 task. Source exit angle.

@sylwiabr sylwiabr added this to the Design Partners milestone Jun 1, 2023
@enso-bot
Copy link

enso-bot bot commented Jun 2, 2023

Keziah Wesley reports a new STANDUP for yesterday (2023-05-31):

Progress: Implemented source exit angle. It should be finished by 2023-05-31.

Next Day: Next day I will be working on the #6544 task. Wrap up PR and start looking at performance issues.

@kazcw kazcw linked a pull request Jun 2, 2023 that will close this issue
5 tasks
mergify bot pushed a commit that referenced this issue Jun 6, 2023
Implements #6544 (eliminates 10/42 of the constantly-displayed draw calls).
Fixes #6717. Improves startup CPU time by 5% (250ms, loading Orders on my dev box).

# Important Notes
- Edges: New implementation uses only Rectangle under most conditions.
- Node and action area: Replace some shapes with Rectangle.
- List view: Replace some shapes with Rectangle.
- Display object hierarchy: The lowest-level shape instance types no longer have their own display objects.
- Includes initial support for using `Rectangle` to display triangles.
@mergify mergify bot closed this as completed in #6707 Jun 6, 2023
@github-project-automation github-project-automation bot moved this from 👁️ Code review to 🟢 Accepted in Issues Board Jun 6, 2023
@farmaazon farmaazon moved this from 🟢 Accepted to 🗄️ Archived in Issues Board Jun 12, 2023
@enso-bot
Copy link

enso-bot bot commented Jul 19, 2023

Keziah Wesley reports a new STANDUP for the provided date (2023-05-12):

Progress: Small design change to fix an anti-aliasing glitch. It should be finished by 2023-05-31.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants