tôi đang làm việc trên bản vẽ đồ thị không chu trình có hướng lớn trong WebGL sử dụng thư viện gwt-G3D theo kỹ thuật này đưa ra ở đây: http://www-graphics.stanford.edu/papers/h3/Vẽ một cấu trúc cây 3D trong WebGL
Tại thời điểm này, tôi có một đơn giản hai cấp graph rendering:
hiệu suất là khủng khiếp - nó mất khoảng 1,5-2 giây để render điều này. Tôi không phải là chuyên gia OpenGL, vì vậy đây là cách tiếp cận chung mà tôi đang thực hiện. Có lẽ ai đó có thể chỉ ra một số tối ưu hóa sẽ làm cho kết xuất này nhanh hơn.
Tôi ngạc nhiên phải mất bao lâu để đẩy ma trận MODELVIEW và bộ đệm cho card đồ họa. Đây là nơi mà phần lớn thời gian của sư tử bị lãng phí. Tôi có nên thay đổi MODELVIEW trong vertex shader không?
Điều này dẫn tôi để tin rằng thao tác ma trận MODELVIEW và đẩy nó một lần cho mỗi nút không phải là một thực tế xấu, nhưng timings không nói dối:
Bạn đã định thời gian như thế nào? Thời gian làm dối trá. Một số trình duyệt được song song để thời gian khó. Trong mọi trường hợp, bạn nói rằng phải mất 1,5 đến 2 giây cho mỗi khung hình? Tôi không hoàn toàn hiểu những gì bạn đang làm nhưng đồ thị cảnh đơn giản với 24 hình khối tất cả các parented đến một số trung tâm nên chạy ở 60Hz tốt. Bạn có (1) biên dịch bóng đổ một lần, không phải trong vòng lặp render của bạn (2) Không gọi bất kỳ hàm glGet nào trong vòng lặp render của bạn? (3) tải lên dữ liệu đỉnh của bạn chỉ một lần, không phải trong vòng lặp kết xuất của bạn? Hy vọng những người không phải là câu hỏi câm nhưng bạn sẽ có thể vẽ ~ 1000 khối với tốc độ hợp lý. – gman