updateVertexPositions too slow to use for real-time animation loops
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- C++
- Star
- 2.2k
- Fork
- 242
- Merge trung bình
- 11 phút
- Pull request đã merge (30 ngày)
- 1
Mô tả
I'm wondering if I'm using the updateVertexPositions and userCallback correctly. Currently I'm getting around 260 ms/f (4 FPS) when I update the positions of a mesh with 262,144 faces inside the draw loop callback.
If I run a similar animation in the libigl viewer I'm getting 19.9 ms/f (50 FPS). In that scenario I'm using set_vertices and callback_pre_draw.
Here's a video screenshot on my intel macbook pro running catalina:
https://user-images.githubusercontent.com/2241689/147182765-78b15f28-a1ce-4fc6-abf0-f6b44af2728e.mov
( Turning off the polyscope groundplane doesn't seem to change anything. I'm guessing the slowdown is happening in updateVertexPositions)
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Bắt đầu từ các entry point updateVertexPositions và userCallback được sử dụng bên trong vòng lặp vẽ, rồi so sánh hành vi của chúng với đường dẫn set_vertices và callback_pre_draw của libigl. Profile animation 262,144 mặt trên thiết lập macOS đã được báo cáo để xác định nguyên nhân của chênh lệch thời gian mỗi frame. Được xem là hoàn tất khi nguyên nhân và cách sử dụng đúng đã được xác lập, kèm theo một so sánh hiệu năng có thể tái lập hoặc một giới hạn được ghi lại.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp
- Lĩnh vực
- computer-graphics, performance
- Loại issue
- Lỗi
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 35/100