Thiết kế cho hiệu suất có nghĩa là tuân theo một vài lưu ý tốt nhất về hiệu suất khi bạn xây dựng trải nghiệm của bạn. So với việc tìm và sửa lỗi hiệu suất sau quá trình phát triển, thiết kế cho hiệu suất sớm có thể tiết kiệm cho bạn rất nhiều thời gian và nỗ lực.
Thiết Bị Cấp Thấp
Các thiết bị ở phía dưới của thiết bị, đặc biệt là các thiết bị di động, có hạn chế nghiêm trọng về bộ nhớ và dễ bị rơi vào tình trạng nhiều bộ nhớ (OOM) do lỗi:
Nếu bạn muốn hỗ trợ các thiết bị cấp thấp, hãy chọn một bộ dụng cụ thiết bị với một số đặc tính hiệu suất nhất định, kiểm tra trải nghiệm của bạn trên chúng suốt quá trình phát triển, và lưu ý chặt chẽ đến tỷ lệ khung hình và sử dụng bộ nhớ. Khi bạn tìm th
Ví dụ, bạn có thể kiểm tra mộ
Trình giả lập thiết bị trong Roblox Studio hữu ích cho việc kiểm tra tỷ lệ kích thước và điều khiển, nhưng không chính xác cho sử dụng bộ nhớ; khi bạn thử nghiệm một trải nghiệm trong Studio, nó sẽ chạy máy chủ và client, vì vậy sử dụng bộ nhớ là rất lớn.
Nói chung, kiểm tra trên một loạt các thiết bị có thể giúp bạn kiểm tra rằng trải nghiệm phù hợp với yêu cầu thị giác và hiệu suất của bạn ở các cấp độ thị giác thấp. Để có một ví dụ chi tiết hơn về cách bạn có thể nghĩ về việc tối ưu hóa trải nghiệm của b
Phát sóng và Dịch chuyển
Tải trượt hình ảnh. cho phép Roblox tải và unload 3D nội dung và là một lựa chọn tuyệt vời cho hầu hết các trải nghiệm, đặc biệt là lớn hơn. Tải trượt hình ảnh cải thiện thời gian tham gia, giảm bộ nhớ và tăng tỷ lệ khung hình. Để biết thêm thông
Chia những nơi lớn thành những nơi quản lý tốt hơn và sử dụng dịch chuyển hành lang để di chuyển người chơi giữa chúng.
Vật liệu và sao chép
Vật liệu tích hợp sử dụng ít bộ nhớ hơn các vật liệu tùy chỉnh, nhưng có thể không khớp nối với tầm nhìn của bạn. Cố gắng sử dụng vật liệu mỗi khi có thể để tiết kiệm ngân hàng nhớ cho những vật liệu làm trung tâm trong trải nghiệm của bạn.
Khi bạn tạo các tài nguyên, chuyển họ thành gói . Làm cho gói là một phần của workflow của bạn giúp đảm bảo vấn đề phổ biến về các tài nguyên lặp lại với các ID khác nhau, có thể gây ra vấn đề hiệu hiệu lực.
Khi bạn thêm mạng lưới và chất liệu, hãy sử dụng và tái sử dụng chúng thay vì nhập các bản sao lặp lại. Bằng cách thay đổi, quay và chồng chéo, bạn có thể tạo môi trường đa dạng và đòi hỏi rất ít gọi vẽ . Để biết thêm thông tin, hãy xem <
Độ trong suốt
- Tránh giá trị transparency khác với 0 (hiển nhiên) và 1 (ẩn). Khi bạn sử dụng transparency phần tử, hãy đặc biệt cẩn thận để tránh quá trong suốt hoặc rút lui quá nhiều .
Lập trình
Khi có thể, hãy viết mã lập trình độ kiểm soát sự kiện thay vì các bộ đếm toàn khung. Ở 60 FPS, tổng ngân sách cho mỗi khung là 16,67 mili giây (ms). Ngay cả những khoản lập trình độ kiểm soát nhỏ hơn có thể sử dụng một phần lớn của ngân sách đó.
Tìm cách để phân tách mã chạy lâu dài thành các mảnh có thể quản lý. Nếu một mảnh mã mất 100ms để thực hiện và bạn chạy nó mỗi khung, trải nghiệm của bạn chỉ có thể chạy ở 10 FPS. Nếu bạn quyết
Thay vào đó, hãy xem xét cách bạn có thể phá vỡ mã. Có lẽ bạn có thể thực hiện 5 ms công việc mỗi khung, sử dụng task.wait() , và có được tổng quát tính toán mỗi 20 khung mà vẫn giữ được 60 FPS. Multithreading , thông thường đ
Sử dụng phương thức RBXScriptConnection:Disconnect() để ngăn chặn việc gọi các chức năng không cần thiết trong một lần mở của sự kiện.
Đừng gọi cùng một phương thức mỗi lần bạn cần một giá trị. Gọi phương thức một lần, lưu giá trị và sau đó viết lại nó nếu cần thiết.
Đừng lưu mọi thứ vào ReplicatedStorage . Cliente tải tất cả những gì ở trong thùng này. Thay vào đó, sử dụng ServerStorage cho bất kỳ thứ gì mà khách hàng không cần quyền truy cập.