Trang chủ Program TIP & TRICK KINH NGHIỆM TỐI ƯU GAME FB INSTANT / HTML5

TIP & TRICK KINH NGHIỆM TỐI ƯU GAME FB INSTANT / HTML5

bởi root

CÁC PHƯƠNG PHÁP ĐO CÁC CHỈ SỐ TỐI ƯU GAME

  • Đo fps: trong bất kỳ hàm update(dt) của bất kỳ component nào ta có thể tính: fps = 1/dt
  • Đo thời gian load game: time = performance.now()

TỐI ƯU PERFORMANCE

  1. Script
    • Tắt console.log khi build
    • Hạn chế dùng: update() / touchMove()
    • Hạn chế dùng các module tốn performance nếu không cần thiết: physic-collider / joint / motion-streak
    • Chia nhóm các object va chạm để hạn chế các event không cần thiết bị emit
  • Dùng NodePool thay vì tạo mới & xóa node liên tục
  • Tắt các layer, object không dùng bằng node.active = false thay vì set opacity=0/ scale=0/ position.xy=9999
  • Hạn chế 9-slice
  • Dùng atlas thay vì ảnh rời (1 atlas hay 1 ảnh rời đều tính bằng 1 drawCall)

TỐI ƯU THỜI GIAN LOAD GAME

Tối ưu dung lượng bộ cài:

  • Cắt hết các phần ảnh bị ra ngoài viền game, không dùng
  • Nén ảnh (tinypng)
  • Tách các thành phần của 1 ảnh to ra thành background và các khối ảnh nhỏ

Các ảnh mờ: có thể xuất ảnh thật kích thước nhỏ hơn trong game, sau đó scale node đó lên (vd: Mây, ngôi sao, bóng object vv)

  • Ảnh có thể xếp lặp, chỉ cắt 1 góc & xếp lặp
    • Lặp theo 2 chiều ngang/dọc
  • Lặp góc kiểu pizza

Ảnh 9 slice thì thu nhỏ lại minimum

Các ảnh nhiều màu nhưng có thể blend màu bằng Cocos => xuất ảnh trắng & blend màu sau

Các khối có hình vuông thì không cần dùng ảnh, dùng sprite có sẵn của Cocos (VD: vẽ nền lưới của bàn cờ)

Xử lý âm thanh:

  • Chỉnh hết âm thanh về bit rate 32
  • Cắt các đoạn âm trống không dùng ở đầu & cuối âm gốc

(https://online-audio-converter.com)

Tắt các module không dùng trong Project Settings -> module config

Xóa ảnh splash mặc định của Cocos khi build xong

Tối ưu quá trình load

Lazy load (động) các asset chưa cần ngay, thay vì load từ đầu game

  • Âm thanh
  • Các atlas dành cho các màn game chưa bật lên ngay
  • Các asset dùng cho các map user lv cao

Đóng ảnh vào các atlas theo ưu tiên atlas đó dùng cho màn hình nào – cần show ngay cho user hay có thể load ngầm

Khi game đã load hết assets cho map hiện tại, preload các map sau đó để các assets được cache lại, tăng tốc cho lần sau load nhanh hơn

Nhấn để đánh giá bài viết!
[Số đánh giá: 0 Trung bình: 0]

Có thể bạn quan tâm

Để lại bình luận