nói dối e blog

Cải Tiến Giao Diện Hệ Thống Hiệu Ứng Đặc Biệt

Trong lần cập nhật trước, chúng tôi đã phân tích dữ liệu và nhận thấy hệ thống hiệu ứng trong engine (game) hiện tại chiếm tỷ lệ CPU rất cao. Mặc dù các phép tính hiệu ứng đã được chuyển sang luồng riêng biệt không ảnh hưởng đến khung hình, nhưng mức tiêu hao CPU vẫn dẫn đến việc pin nhanh cạn và gây nóng máy, từ đó làm giảm hiệu năng xử lý của thiết bị. Vì vậy, chúng tôi đã quyết định áp dụng phương án tối ưu hóa bằng cách hy sinh một phần độ chính xác: chỉ tính toán các hiệu ứng nằm trong khung hình, đồng thời loại bỏ việc xử lý các hạt hiệu ứng ở vùng ngoài tầm nhìn của camera.

Phân Loại Trò Chơi Bàn Cờ

Tất cả các trò chơi được chơi trên mặt phẳng đều thuộc danh mục trò chơi bàn cờ (board games). Hầu như ai cũng từng chơi qua vài trò chơi dạng này như cờ vua, cờ vây, bài tây hay mạt chược. Nếu không tính những trò chơi trừu tượng truyền thống này, tôi đã chơi trò chơi bàn hiện đại hơn mười năm nay. Những năm đầu là chơi cùng bạn bè, nhưng vài năm trở lại đây lại chủ yếu chơi cùng gia đình, đặc biệt là các bé nhỏ.

Vấn Đề Hiệu Năng Do Thuật Toán Lên Lịch Tác Vụ Gây Ra

Gần đây tôi gặp phải một vấn đề hiệu năng nghiêm trọng liên quan đến thuật toán lập lịch trong thư viện đa tác vụ ltask do tôi phát triển. Vấn đề này đòi hỏi nhiều thời gian gỡ lỗi và phân tích kỹ lưỡng. ltask ban đầu được hình thành từ những suy ngẫm về kiến trúc skynet, với mục tiêu tiếp cận theo hướng hoàn toàn khác: xây dựng thành thư viện thay vì framework, giảm thiểu cạnh tranh khóa, tránh tình trạng dịch vụ bị quá tải do hàng đợi tin nhắn tích tụ…

Nghi Nhiễm Covid-19 Lần Hai

Lần đầu tiên nhiễm Covid-19 đã cách đây 8 tháng, vào cuối năm ngoái. Gần đây dường như lại bị “viếng thăm” lần nữa, nên tôi ghi chép lại chi tiết để làm kỷ niệm.

Thứ Năm tuần trước (ngày 10/8)
Sau bữa trưa, tôi cảm thấy buồn ngủ bất thường nên dựa vào ghế văn phòng chợp mắt một lát. Bình thường tôi không có thói quen ngủ trưa cố định, nghĩ rằng do hôm trước ngủ không ngon giấc. Tỉnh dậy lúc 14 giờ, tinh thần vẫn uể oải. Khi đứng dậy đi vệ sinh, đầu óc quay cuồng, nhưng tôi không để tâm nhiều.

Tối Ưu Hóa Engine Game Di Động

Engine game di động của chúng tôi đã không ngừng được cải tiến song song với tiến trình phát triển dự án game. Lúc đầu, engine gặp vấn đề về hiệu suất khi không đạt được số khung hình mong muốn trên thiết bị di động. Nhờ vào việc áp dụng khung công tác ECS (Entity Component System), chúng tôi đã đạt được bước đột phá khi chuyển đổi một số hệ thống core từ Lua sang C. Dù lượng code core này không quá lớn, nhưng hiệu quả mang lại rất rõ rệt - ví dụ hệ thống cập nhật scene graph vốn tiêu tốn nhiều tài nguyên CPU, sau khi viết lại bằng C với chỉ 200 dòng code, thời gian xử lý giảm từ hơn 1ms xuống gần như không đáng kể so với phiên bản Lua ban đầu.

Tối Ưu Cấu Trúc Dữ Liệu Chuỗi Có Thứ Tự

Trong mô-đun ECS của chúng tôi, có một cấu trúc dữ liệu quan trọng là mảng eid - thành phần của cấu trúc Component, dùng để xác định Component thuộc Entity nào. Hiện tại chúng tôi đang sử dụng mảng có thứ tự để triển khai.

Phân tích yêu cầu

Các thao tác thường gặp với cấu trúc này gồm:

0%