Tại sao một phần mềm 10 năm tuổi vẫn còn chậm như vậy ngay cả ngày nay?


-2

Tôi mới nhận được câu hỏi này do một trò chơi (tình cờ là Diablo 2), nhưng vấn đề thực tế là: tại sao mac book pro mới của tôi , được sản xuất năm 2009 với công nghệ mới nhất (tho là trò rẻ nhất) có thể ' Đối thủ của tôi là máy tính đã từng chạy nhanh hơn nhiều vào năm 2000? Thực sự, nó đã nhanh hơn nhiều so với AMD K6 450 của tôi trong những ngày đó và tôi thậm chí có thể chạy hai máy khách cùng lúc mà không bị chậm.

Tôi luôn có cảm giác chiếc máy này hoạt động chậm, nhưng đây là một cách rất kỳ lạ để chứng thực nó.

Cấp, máy nhỏ hơn, chạy bằng wifi và "khởi động" nhanh hơn nhờ chế độ ngủ. Nhưng ngoài ra, chúng ta đã tiến hóa những gì?! Tôi khá chắc chắn đây không phải là lỗi của card đồ họa.

Chắc chắn nếu tôi mua công nghệ mới nhất, nó sẽ chạy nhanh và có lẽ hầu hết mọi người ở đây có thể xác nhận điều này và thậm chí sẽ không hiểu câu hỏi của tôi. Nhưng điều quan trọng là, tất cả phần cứng được cho là nhanh hơn và tốt hơn nhiều so với những thứ từ 10 năm trước. Phần mềm và hệ điều hành trở nên phức tạp hơn, nhưng cũng được cải tiến tốt hơn. Bây giờ tôi đang thử một phần mềm thực sự 10 năm tuổi và nó không thu được kết quả nào tốt hơn! Tại sao?

chỉnh sửa: Tôi vừa lưu ý đến "Tất cả quy trình" được liệt kê trong Trình giám sát hoạt động , Diablo 2 là người duy nhất thuộc loại "Power PC". Tất cả những cái khác là "Intel" hoặc "Intel (64 bit)". Có lẽ đó là lý do.


Mac! = PC là câu trả lời ngắn. Bạn đang chơi nó thông qua một số hình thức mô phỏng như phiên bản gốc đã được phát hành cho Mac OS cổ điển trên PowerPC và Win95 / 98 trên x86, không phải cho OS X trên x86.
mctylr

@mctylr: Trên thực tế, Blizzard đã phát hành các bản sao khác nhau, một cho Windows và một cho Mac (PPC).
Josh K

2
@Josh K, phiên bản Mac PowerPC cần mô phỏng bộ xử lý để chạy trên Mac Book Pro dựa trên Intel Core 2 Duo, trong khi phiên bản Windows cần mô phỏng hệ điều hành (ví dụ Parallels) để chạy trong OS X.
mctylr 22/03/2016

@mctylr: Có, nhưng bạn vẫn đang so sánh bộ xử lý 450 MHz với bộ xử lý 2.23GHz. Bạn có nghĩ rằng nó nằm trong khả năng mô phỏng nền tảng PPC mà không bị chậm lại không? ;)
Josh K

@mctylr ngay cả khi nó thi đua, nó đã 10 tuổi! Máy móc tăng gấp đôi công suất cứ sau 18 tháng, phải không?
cregox

Câu trả lời:


2

Hầu hết thời gian, các trò chơi được lập trình để chúng có thể chỉ định tốc độ của một cái gì đó chạy. Đây là lý do tại sao nếu chúng ta tải lên Doom classic trên lõi i7, chúng ta sẽ không thấy quái vật di chuyển với tốc độ ánh sáng và giết chết chúng ta trước khi chúng ta có thể phản ứng.

Diablo II có thể được thực hiện theo cách tương tự. Nó được lập trình để chạy ở một tốc độ nhất định theo thời gian chứ không phải tốc độ của bộ xử lý. Bạn có thể tăng tốc nó bằng cách sử dụng công nghệ mô phỏng, nhưng tôi không chắc chắn làm thế nào để làm điều đó.

Chỉnh sửa: Xin lỗi! Điều tôi muốn nói ở dòng đầu tiên là chúng được lập trình để xác định xem chúng có sử dụng chu kỳ bộ xử lý hay chu kỳ xung nhịp hay không.


Có lẽ tất cả chỉ là lỗi của phần mềm này, nhưng đó là điều tôi muốn biết chắc chắn. Làm thế nào tôi có thể biết? Và có một cơ hội không phải ... Sau đó, có lẽ vấn đề nằm ở sự công khai phần cứng - nó sẽ không nhanh hơn bây giờ nhiều so với những năm trước!
cregox

Điều đó đúng. Tôi đoán bạn luôn có thể điểm chuẩn hai hệ thống. SISandra có một công cụ tuyệt vời để làm điều đó.
Sakamoto Kazuma

2

Bản thân phần mềm có thể được tối ưu hóa để chạy trên phần cứng / hệ điều hành đó.

Bạn đang so sánh chip 450 MHz với chip lõi kép 2,26GHz. Tại sao bạn nghĩ rằng trước đây là nhanh hơn?

Cũng có khả năng bạn nhớ nó nhanh hơn thực tế.


Đúng vậy, tôi rất muốn có được một AMD cũ, kiểm tra nó và báo cáo lại. Nhưng nhìn này, tôi nhớ rất rõ điều này: nó thật hoàn hảo và tôi không có gì để phàn nàn, trừ khi tôi cố gắng chạy hơn 2 khách hàng. Ở đây, nó chậm chạp. Sau đó, tôi nhớ rằng tôi thường nhận được rất nhiều chậm. Và câu hỏi đặt cược là tôi không phải là người duy nhất nhận ra điều này.
cregox

2

Hãy bắt đầu với tiêu đề và mô tả câu hỏi rất sai lệch . Bạn không nói rõ rằng bạn đang sử dụng một số hình thức mô phỏng để chạy Diablo II (phát hành năm 2000 cho Mac OS trên PowerPC và Windows trên x86) trên Mac Book Pro, mà tôi cho là đang chạy OS X gốc của nó, vì bạn không bao gồm bất cứ điều gì để đề nghị khác.

một phương pháp là sử dụng trình giả lập bộ xử lý (như qemu *, bochs, spim, PearPC) để mô phỏng một bộ xử lý trên một hệ thống khác là một nhiệm vụ phức tạp.

Một phương pháp khác là sử dụng bộ ảo hóa nền tảng (như Xen, VMware, Parallels) chạy một hệ thống máy tính ảo bị cô lập bao gồm các tính năng phần cứng mô phỏng hoặc ánh xạ (I / O).

Các tác vụ này rất phức tạp, với việc dịch nhanh các bộ hướng dẫn gốc cho trình giả lập, sang JIT hoặc dịch động bộ nhớ và ánh xạ bộ xử lý để mô phỏng một máy tính ảo tách biệt hoặc khác với hệ thống "máy chủ", bao gồm Hệ điều hành và hạt nhân của nó. Ví dụ, một ứng dụng chạy qua PearPC được trích dẫn là chạy chậm hơn 40 lần so với ứng dụng chạy gốc.

Mặc dù Định luật Moore thường được xem là đối chiếu việc nhân đôi các bóng bán dẫn lên gấp đôi công suất tính toán hoặc sức mạnh xử lý của CPU, nhưng điều này không mở rộng ra toàn bộ hệ thống, thậm chí cả hiệu năng phần cứng (kích thước và tốc độ RAM, Ổ cứng).

Tôi ngạc nhiên khi phải nhắc đến Huyền thoại Megahertz (Đồng hồ tốc độ) cho người dùng Mac. Hình thức ngắn: Bạn không thể sử dụng tốc độ xung nhịp của CPU làm hướng dẫn so sánh về hiệu suất của CPU / hệ thống.

Trò chơi video là một trình diễn đặc biệt kém về mô phỏng hoặc ảo hóa do hiệu suất video 2D và 3D, một lĩnh vực thường thiếu tốc độ của các giải pháp mô phỏng hoặc VM cạnh tranh khác nhau. Trong nhiều trường hợp, đồ họa 3D được hiển thị trong phần mềm và không được tối ưu hóa nhiều như các phần mô phỏng / xử lý virut của bộ xử lý và hệ điều hành. Điều này đang dần thay đổi, VMware đã cải thiện khả năng tăng tốc đồ họa của họ trong một số trường hợp nhất định.


Vì vậy, tôi không nghĩ bạn nên ngạc nhiên khi chơi một trò chơi video cũ hơn thông qua mô phỏng hoặc ảo hóa vẫn chậm trên CPU nhanh hơn của bạn. Thật không may, tình huống không rõ ràng từ câu hỏi của bạn.


*) qemu và một số người khác đều là trình giả lập bộ xử lý và trình ảo hóa máy tùy thuộc vào hoàn cảnh (ví dụ môi trường máy chủ).


Tại sao bạn đánh tôi? Tôi chưa bao giờ nói bất cứ điều gì về MHZ, Moore là toán học chính xác hoặc mô phỏng các vấn đề. Bất cứ điều gì luôn được coi là mặc định trừ khi có quy định khác, tôi không phải là người thích đưa ra từng chi tiết nhỏ một cách rõ ràng. Nhưng nó nên được khá rõ ràng rằng tôi đang sử dụng không có thi đua.
cregox

Do Diablo II đã được phát hành trước khi Mac OS có sẵn trên nền tảng x86 (chẳng hạn như MacBook Pro của chúng tôi chạy OS X), làm thế nào bạn chạy một trò chơi chỉ có sẵn cho Windows / DOS cho bộ xử lý x86 mà không cần mô phỏng hoặc ảo hóa?
mctylr

Tôi nói tôi rất ngạc nhiên, tôi không có ý định đánh bạn hay bất cứ ai khác.
mctylr

Tôi vừa vào trang web Blizz và tải xuống một bản sao với khóa cd của mình. Tôi thậm chí không có đĩa nữa, chỉ lưu các phím. Tôi không biết nó đã được thực hiện như thế nào, nhưng tôi chắc chắn đã không khởi động nó từ bất kỳ trình giả lập nào và nó không mất quá nhiều thời gian để tải, nó chỉ chạy chậm khi mọi thứ trở nên nặng nề.
cregox
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.