Tại sao một ứng dụng sẽ sử dụng lượng bộ nhớ khác nhau trên các máy tính khác nhau


1

Tôi đã xây dựng một ứng dụng (OpenGL / SDL) sử dụng lượng bộ nhớ rất khác nhau trên các hệ thống khác nhau:

LGA2011 / HD6950 / 16GbRam / W8PRO - 185Mb

LGA1155 / HD7850 / 16GbRam / W7PRO - 180Mb

LGA1333 / Quadro2000 / W7PRO - 110Mb <-------------- Có gì với cái này?

2011MBA - 300 + Mb (Tôi nghĩ rằng điều này là do RAM chia sẻ igpu)

Làm thế nào tôi có thể xác định lý do cho việc này?


Tôi nghĩ bạn nên đăng bài này lên Stackoverflow.com vì câu hỏi của bạn có liên quan đến lập trình.
Giô

Câu trả lời:


1

Đối với câu hỏi của bạn, đây là những gì tôi biết. Khi bạn đang xem bộ nhớ đang được sử dụng, nó có thể hiển thị các loại khác nhau. Một số máy tính sẽ lấy một số bộ nhớ và chuyển nó sang SWAP thay vì sử dụng RAM của bạn. Nó cũng có thể sử dụng bộ nhớ ảo, chiếm ít dung lượng hơn, do đó làm cho ứng dụng của bạn có vẻ như đang sử dụng ít hơn.

Nếu chúng đang chạy trên các phiên bản hoặc hệ điều hành khác nhau, thì điều đó có thể đóng góp. Ví dụ: Windows XP có thể không xử lý bộ nhớ giống như cách 7, điều này có thể làm thay đổi một chút dung lượng bộ nhớ thực mà ứng dụng của bạn sử dụng.

Những thay đổi nhỏ trong card đồ họa hoặc các phần cứng khác cũng có thể đóng góp, bằng cách yêu cầu bộ nhớ từ một ứng dụng khác, nhưng điều đó thường không xảy ra trên Windows, hơn nữa là dựa trên Unix.

Đối với Mac, bạn là chính xác. OS X lưu trữ bộ nhớ khá khác nhau và sẽ sử dụng hết bộ nhớ RAM nếu có thể, nó sẽ bắt đầu giảm dung lượng khi bộ nhớ xuống thấp. Nhưng RAM chia sẻ GPU là thứ đang khiến nó có vẻ rất cao trên cái đó.

Tôi không phải là người hiểu biết nhất trong môn học này, vì tôi cũng là một kỹ sư phần mềm, có lẽ là một kỹ sư điện (Hoặc ai đó có kiến ​​thức tương tự) có thể đi sâu vào chi tiết hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.