Cải thiện hiệu suất của trò chơi di động trong Unity
Chơi game trên thiết bị di động đã phát triển khá nhiều trong những năm gần đây, từ việc có các trò chơi 2D đơn giản đến cung cấp trải nghiệm 3D đầy đủ. Nhưng dù vậy, nó vẫn có sức mạnh xử lý hạn chế nên để mang lại trải nghiệm chơi game mượt mà, cần phải cân nhắc một số vấn đề liên quan đến lựa chọn thiết kế.
Dưới đây là 5 điểm hàng đầu cần xem xét để cải thiện hiệu suất trên thiết bị di động khi phát triển trong Unity:
Tránh minh bạch
Pixel overdraw khá tốn kém và có thể làm giảm đáng kể tốc độ khung hình trên thiết bị di động. Để ngăn chặn điều này, hãy tránh sử dụng Bộ đổ bóng trong suốt hoặc về cơ bản là bất kỳ Bộ đổ bóng nào có độ trong suốt (ví dụ: Bộ đổ bóng hạt).
Đối với hình học mờ, hãy sử dụng Shaders từ danh mục Di động.
Tránh bóng thời gian thực
Shadows thời gian thực có thể trông rất ngầu nhưng chúng đòi hỏi khá nhiều sức mạnh xử lý. Vì vậy, tốt nhất là thay vào đó hãy nướng chúng thành Lightmaps.
Sử dụng tính năng hàng loạt tĩnh để giảm các cuộc gọi rút thăm
Static Batching là một cách để cho phép Unity kết hợp các Đối tượng tĩnh lại với nhau, từ đó sẽ giảm số lượng lệnh gọi Draw, do đó cải thiện hiệu suất kết xuất.
Để bật tính năng Batching tĩnh, hãy đánh dấu tất cả các Đối tượng tĩnh trong Cảnh là "Batching Static", sau đó đi tới Chỉnh sửa -> Cài đặt dự án... -> Trình phát và đảm bảo rằng Static Batching đã được chọn.
Sử dụng tính năng tạo khối động một cách thận trọng
Phân khối động có phần gây tranh cãi. Một mặt, nó cho phép Unity kết hợp các Đối tượng động thành ít Đối tượng hơn, có khả năng cải thiện hiệu suất, nhưng mặt khác, nó phải làm như vậy ở mọi khung hình, điều này có thể ảnh hưởng đến hiệu suất.
Nhìn chung, tốt hơn hết bạn nên tắt Dynamic Batching khi nhắm mục tiêu vào nền tảng di động.
Tránh sử dụng OnGUI
OnGUI cho phép bạn nhanh chóng tạo giao diện người dùng từ mã nhưng tốc độ này rất chậm so với UI Canvas, vì vậy chỉ sử dụng nó để tạo nguyên mẫu.