01/10/2018, 08:15

Vấn đề về dung lượng bộ nhớ!

Mọi người cho mình hỏi tí:
Ví dụ mình làm 1 game (LOL đi) vè phải code những dòng lệnh
Những thứ như cấp phát động, long, short, point, … tất cả những thứ liên quan đến bộ nhớ có ảnh hưởng gì đến DUNG LƯỢNG GAME ko ?
(Kiểu như là LOL = 8GB, ko cấp phát động thì lên 16GB) @@
Ý mình cũng chưa đc rõ lắm, nên ai có câu hỏi gì cứ thắc mắc nhé

Văn Dương viết 10:22 ngày 01/10/2018

Khi một ứng dụng được build nó sẽ chứa mã thực thi binary, hoặc bytecode, hoặc MSIL, và cả resource, etc… và nhiều thứ khác nữa nên sẽ chiếm một lượng ổ cứng nhất định. Đây chính là dung lượng cài đặt một ứng dụng.
Khi ứng dụng chạy thì mã thực thi sẽ được load lên RAM và tuỳ từng thuật toán mà sẽ chiếm dung lượng RAM khác nhau bao gồm mã thực thi và cả dữ liệu cấp phát động nữa.

Jacger_Quang viết 10:27 ngày 01/10/2018

Ý bạn tức là nó sẽ tác động đến dung lượng Bộ nhớ của máy tính và dung lượng RAM khi chương trình đó hoạt động à ?

Trần Hoàn viết 10:29 ngày 01/10/2018

Giả sử dung lượng của phần mềm là A, khi chạy tiêu tốn một lượng RAM là B, trong quá trình chạy tạo ra một lượng cache là C và data là D và temporary files là E.
Khi vừa mới cài thì tiêu tốn A
Khi khởi chạy lần đầu thì tiêu tốn A+B, trong đó B chủ yếu là cấp phát tĩnh
Trong quá trình chạy tạo ra C,D và E
Khi tắt chương trình thì B và E được giải phóng.

C giúp chương trình khởi chạy nhanh hơn so với lần chạy đầu tiên nhưng tốn dung lượng ổ cứng. Nếu dọn đi thì lần sau chạy chương trình sẽ sinh cache mới.
Các quá trình tính toán, các biến cấp phát động sẽ được lưu ở B và E, khi tắt thì bị xoá (trừ khi tắt không đúng quy trình như crash hay tắt process bằng Task Manager…)
=> Dung lượng chương trình bao gồm A+C+D (+E nếu temporary không được xoá hết)

Văn Dương viết 10:25 ngày 01/10/2018

Dung lượng cài đặt thì nằm trên ổ cứng và thường là không đổi.
Dung lượng chương trình khi chạy lại nằm trên RAM và không cố định và thường là thay đổi tuỳ trạng thái của ứng dụng.
2 cái này là khác nhau. Ví dụ Visual Studio có dung lượng cài đặt từ vài GB đến vài chục GB tuỳ option nhưng dung lượng chương trình khi chạy chỉ khoảng 120-200MB thôi.

Jacger_Quang viết 10:28 ngày 01/10/2018

Ý mình cũng giống như vậy thôi :)), Cảm ơn bạn nhiều

rogp10 viết 10:20 ngày 01/10/2018

Giờ mới hiểu bạn hỏi cái gì.

Nói về game thì tới màn nào thì nạp màn đó vào bộ nhớ chứ đâu có đem lên hết chi
Ngoài ra 1 số game stream texture qua RAM vào VRAM.

Văn Dương viết 10:23 ngày 01/10/2018

Đúng là như vậy. Một chương trình tối ưu bộ nhớ tốt sẽ chỉ nạp những dữ liệu cần thiết để chạy. Khi dùng xong sẽ trả lại bộ nhớ cho hệ thống.

Bài liên quan
0