nói dối e blog

Bộ Sưu Tập Rác Trong C++0x

Gần đây, blog của tác giả g9 đã chia sẻ một bài viết rất thú vị về chủ đề trình thu gom rác (garbage collector - GC) trong tiêu chuẩn C0x. Đây là bài đầu tiên bằng tiếng Việt mà tôi được đọc về tính năng GC trong C0x.

Hai năm trở lại đây, tôi đặc biệt quan tâm đến công nghệ GC :D và đã áp dụng nó trong các dự án thực tế suốt 2 năm qua. Dù dự án chuyển từ C++ sang C, cách triển khai mô-đun GC có thay đổi nhưng bản chất thì không. Tôi luôn hoan nghênh việc tích hợp GC vào C++, quan điểm này đã được tôi chia sẻ rõ ràng trong một bài blog trước đây.

Giao Tiếp Giữa Các Nhóm Máy Chủ Trò Chơi

Trong ngành công nghiệp trò chơi trực tuyến hiện đại, xu hướng xây dựng thế giới ảo đang ngày càng mở rộng về quy mô nhằm tạo ra không gian tương tác cho hàng ngàn người chơi. Là một kỹ sư phụ trách thiết kế hệ thống, tôi luôn phải đối mặt với những yêu cầu kỹ thuật ngày càng phức tạp từ phía các nhà thiết kế trò chơi. Tuy nhiên với dự án hiện tại, do chúng tôi tự chủ thiết kế kiến trúc hệ thống, nên khi gặp vấn đề kỹ thuật cần phải tự tìm giải pháp chứ không thể đổ lỗi cho bất kỳ ai.

Hai Vấn Đề Nhỏ Trong Lập Trình X Window

So với Windows, hệ thống X Window thực ra dễ hiểu hơn nhiều và có thiết kế hợp lý hơn. Tuy nhiên, tài liệu hướng dẫn về nó thì vô cùng khan hiếm, đặc biệt là tài liệu bằng tiếng Trung. Tìm kiếm mãi chỉ thấy vài bài viết lác đác, sách chuyên môn cũng gần như không thấy :( Vì vậy với tôi, lập trình trên nền X Window vất vả hơn nhiều so với Windows.

Hồi Tưởng Về Bản Thảo JPEG

Vào năm cuối đại học, vì một cuộc tranh luận nảy lửa trên diễn đàn phát triển game Sina, tôi đã quyết tâm tự tay viết một chương trình giải mã JPEG. Đó là khoảng cuối năm 1999, thời điểm mà tài liệu kỹ thuật tiếng Việt gần như còn rất hạn chế.

Để hoàn thành dự án này, tôi đã phải dày công sưu tầm nhiều tài liệu nước ngoài, thậm chí phải mày mò dịch thuật các bài báo chuyên ngành. Trong quá trình đó, tôi đã viết một bản hướng dẫn giải thích nguyên lý JPEG một cách dễ hiểu. Không ngờ bản thảo này lại được cộng đồng mạng chia sẻ rộng rãi qua nhiều năm tháng, và tôi cũng thường xuyên nhận được thư hỏi chi tiết từ các độc giả quan tâm.

Mười Năm Tròn Giấc Mộng

Vào một buổi trưa uể oải sau giấc ngủ trưa, ông Đinh gọi điện tới. Ông bảo rằng cuối tuần này thầy Nam Hoài Cẩn sẽ giảng bài tại Giang Tô, hỏi tôi có muốn đi nghe không. Tôi vốn rất thích đọc sách của thầy Nam, tiếc rằng hôm nay phải bay về Vũ Hán. Thật là một điều đáng tiếc!

Ngày mai, người bạn thuở thiếu thời DSH sẽ tổ chức lễ cưới. Cậu ấy trở về từ Pháp để chuẩn bị tiệc rượu này. So với tôi, bay về Vũ Hán coi như là gần rồi.

Nén Dữ Liệu Đỉnh Mô Hình 3D

Bối cảnh ra đời:
Trong một lần trò chuyện với nhóm phát triển game Thiên Hạ, tôi được biết họ đang gặp vấn đề về thời gian tải tài nguyên quá lâu do kích thước dữ liệu quá lớn, ảnh hưởng trực tiếp đến trải nghiệm người chơi. Giải pháp tất yếu là phải tiến hành nén dữ liệu.

Cân nhắc về hiệu quả nén:
Khi hệ thống có dung lượng RAM vật lý dồi dào, việc nén dữ liệu đôi khi lại phản tác dụng. Lý do là quá trình giải nén sẽ tiêu tốn nhiều tài nguyên CPU. Tuy nhiên, với RAM lớn, hệ điều hành sẽ tận dụng không gian này làm bộ đệm cho thao tác đọc/ghi đĩa. Ngay cả khi ứng dụng không chiếm nhiều bộ nhớ logic, việc tải dữ liệu lớn từ ổ cứng cũng gần như không bị ảnh hưởng tốc độ. Ngược lại, khi dữ liệu vượt ngưỡng RAM khả dụng, việc trao đổi dữ liệu liên tục giữa RAM và ổ cứng sẽ khiến hiệu suất sụt giảm mạnh. Lúc này, nén dữ liệu lại trở thành giải pháp tối ưu vì thời gian giải nén CPU thấp hơn nhiều so với thời gian chờ đợi từ I/O đĩa.

0%