PHYSICS ENGINE HOẠT ĐỘNG NHƯ THẾ NÀO?
Nói ngắn gọn physics engine là phần mềm mô phỏng các hiện tượng vật lý, tuy nhiên bài viết này chỉ giới hạn nói về cách hoạt động của physics engine và cách nó được tích hợp trong các game engine để phát triển các trò chơi điện tử đồ họa 2D, mặc dù trong bài viết này nói về 2D game physics engine nhưng các khái niệm cũng được áp dụng tương tự ở 3D game physics engine.
FALSE SHARING
Khi CPU truy cập memory ở một địa chỉ cụ thể để lấy dữ liệu thì CPU sẽ tự động sao chép các dữ liệu liền kề với địa chỉ đó(cache line) vào CPU cache để tối ưu lần truy cập sau, tuy nhiên việc cập nhật các phần tử khác nhau(multiprocessor) ở trong cache line sẽ dẫn đến cache line được đánh dấu là invalid, từ đó buộc CPU phải gửi yêu cầu lấy dữ liệu đến memory hoặc các nơi khác thay vì lấy trong CPU cache, tình huống này được gọi là false sharing
DOUBLE BUFFERING
Là một kỹ thuật lập trình dùng 2 buffer để lưu trữ dữ liệu, mục đích để giảm thời gian chờ giữa lúc chuẩn bị và lúc sử dụng dữ liệu. Được biết nhiều ở lĩnh vực đồ họa máy tính, game, hệ điều hành. Bài viết minh họa kỹ thuật Double Buffering trong lập trình song song sử dụng ngôn ngữ Go.
HELLO
How’s your day going?