Tôi đã viết về tốc độ trình duyệt trước đây. Chúng tôi đã thảo luận về tốc độ trình duyệt là biểu hiện của một hoặc nhiều thành phần được định cấu hình sai hoặc tối ưu hóa phụ trong hệ điều hành, dẫn đến trải nghiệm duyệt web không hoàn hảo. Chúng tôi đã cố gắng tìm hiểu vấn đề là gì và làm thế nào chúng tôi có thể lấy lại giá trị đã mất.
Hôm nay, chúng ta sẽ nói về một loại vấn đề khác về tốc độ duyệt web. Phần cuối của quang phổ, điểm chuẩn tốc độ của trình duyệt. Lẽ ra, họ phải cho chúng ta biết điều gì đó về sản phẩm mà chúng ta lựa chọn và khiến chúng ta tự hào cũng như bị thuyết phục về quyết định của mình. Các bài kiểm tra không liên quan gì đến thiết lập của bạn; chúng có mọi thứ liên quan đến giao diện bên trong trình duyệt của bạn. Điều đó làm cho chúng hoàn toàn, hoàn toàn không liên quan. Hãy để tôi giải thích.
Hiểu biết về công nghệ
Hầu hết mọi người không biết điểm chuẩn tốc độ trình duyệt nghĩa là gì và chúng ảnh hưởng như thế nào đến việc sử dụng hàng ngày của họ. Nhưng họ hiểu các từ nhanh nhất và nhanh nhất. Họ tự động dịch các từ thành hình ảnh về một chiếc siêu xe hoành tráng và họ tận hưởng khoảnh khắc kích thích tục ngữ. Thực tế là một chút khác nhau.
Điểm chuẩn của trình duyệt là một loại cuộc thi về tính ưu việt về mặt khái niệm giữa các nhà phát triển mã, những người cố gắng vượt qua nhau bằng cách viết công cụ trình duyệt tối ưu nhất. Đó là về các quy trình đơn so với đa luồng, tắt tiếng, hộp cát và các từ táo bạo khác.
Sự thật mà nói, và ít người sẽ nói cho bạn biết sự thật, các bài kiểm tra tốc độ của trình duyệt cũng liên quan đến cuộc sống thực như mức tiêu thụ nhiên liệu của Lamborghini LM002. Chúng là một cái nhìn thoáng qua về những gì công nghệ bên trong có thể làm được, trong một thế giới hoàn hảo không có người dùng chậm hoặc tắc nghẽn mạng. Thật tệ là thế giới không hoàn hảo. Câu chuyện của tôi diễn ra như sau:
Trình duyệt của bạn KHÔNG phải là nút cổ chai
Thực tế đơn giản là trình duyệt của bạn chỉ là một liên kết trong chuỗi dài các thiết bị và phần mềm giúp Internet hoạt động. Trình duyệt của bạn là một điểm cuối của một lưới nhiều lớp, nhiều tầng cực kỳ phức tạp và phức tạp.
Khi bạn nhập địa chỉ của trang web mà bạn muốn xem, toàn bộ chuỗi sự kiện sẽ xảy ra trước khi trang web được hiển thị và bạn hài lòng. Yêu cầu của bạn đối với một trang web được dịch thành các gói dữ liệu được định tuyến qua ngăn xếp mạng của bạn, vượt qua tất cả các loại công cụ lọc, phần mềm chống vi-rút và tường lửa, tới bộ định tuyến, modem, bộ chuyển mạch ISP của bạn và sau đó là mười hoặc vì vậy nhảy đến máy chủ Web thực sự giữ trang.
Mỗi một yếu tố trong số này có thể hoạt động ở mức dưới mức tối ưu, gây ra sự chậm trễ nhỏ về chất lượng dịch vụ, mà cuối cùng bạn sẽ hiểu là trải nghiệm trình duyệt.
Máy chủ Web mà bạn vừa liên hệ có thể đã được tải. Trang bạn yêu cầu có thể lớn và chứa mã của bên thứ ba được lưu trữ trên các máy chủ khác. Đó có thể là giờ cao điểm của Internet và nhà cung cấp cam kết hào phóng của bạn đang gặp khó khăn. Bạn có thể đang tải xuống một bộ phim, điều này cũng có thể ảnh hưởng đến kết quả. Tín hiệu không dây, nhiều máy tính chạy và chia sẻ tài nguyên băng thông cùng lúc, cập nhật phần mềm định kỳ ở chế độ nền, tải CPU, tất cả những điều này là một số trong nhiều yếu tố ảnh hưởng đến trình duyệt. Bây giờ, kết hợp mọi thứ và bạn sẽ có một ẩn số lớn. Nhưng hầu hết mọi người không có ý tưởng. Tất cả những gì họ thấy và cảm nhận là việc tải các trang web được yêu cầu.
Để tôi cho bạn một ví dụ cá nhân
Vài tháng trước, tôi đã nâng cấp đường truyền 1,5Mbit yếu nhất của mình lên đường truyền 12Mbit. Hãy để tôi hỏi bạn một câu hỏi. Bạn có nghĩ rằng kinh nghiệm duyệt web của tôi được cải thiện? Câu trả lời là không! Nếu có bất kỳ thay đổi, nó không thể nhận thấy. Tôi nhận thấy một sự thay đổi đáng kể, khá tuyến tính trong việc tải lên và tải xuống liên tục và thậm chí cả thời gian ping cũng được cải thiện, giúp cho việc chơi trò chơi trực tuyến trở nên thú vị hơn nhưng không gian trình duyệt vẫn không bị ảnh hưởng.
Làm thế nào đến, bạn hỏi. Câu trả lời rất đơn giản:trải nghiệm duyệt web của tôi đã được tối ưu hóa ở mức tối đa, không phụ thuộc vào băng thông. Đó là điều đầu tiên và quan trọng nhất bạn cần làm, trước khi xem xét tốc độ trình duyệt.
Bạn cần tối ưu hóa máy của mình để có được hiệu suất tốt nhất hiện có. Bạn cần đảm bảo rằng nút cổ chai nằm ngoài phạm vi kiểm soát của bạn. Bạn muốn nút cổ chai nằm ở một trong nhiều liên kết bên ngoài chu vi ngôi nhà của bạn. Để biết thêm chi tiết về các trình duyệt chậm, hãy xem bài viết này.
Nhưng vấn đề là như thế này:Nếu bạn có một dòng 1 MB và bạn cần tải xuống dữ liệu trang web, văn bản, hình ảnh và tất cả trị giá 1 MB, thao tác sẽ không mất dưới 1 giây, bất kể điều gì. Trình duyệt không thể làm phép thuật.
Điểm chuẩn, nghĩa là gì?
Giả sử thiết lập máy tính của bạn hoàn hảo và bạn không có bất kỳ phần mềm bảo mật khập khiễng nào làm tê liệt máy của mình, thì bạn có thể bắt đầu nghĩ đến việc kiểm tra tốc độ trình duyệt, mặc dù đây vẫn là một ẩn số lớn. Bạn sẽ so sánh các trình duyệt như thế nào? Tải một trang web, phải không? Chà, theo một cách nào đó, điều này đúng, nhưng đừng quên rằng bạn không kiểm soát được những gì xảy ra bên ngoài.
Thử nghiệm thực sự chính xác duy nhất là khởi động một máy chủ Web trên máy của chính bạn và chạy thử nghiệm với máy chủ cục bộ. Bằng cách này, bạn sẽ biết không có yếu tố bên ngoài nào ảnh hưởng đến mạng của mình và được chuyển vào không gian trình duyệt, tạo ấn tượng sai.
Internet là một cơn bão luôn thay đổi. Ngay cả khi bạn tải một trang web trong các trình duyệt khác nhau trong vòng vài giây từ một trình duyệt khác, thì bạn vẫn sẽ chạy một thử nghiệm trong các trường hợp khác nhau. Cách duy nhất bạn có thể yêu cầu bất kỳ loại chính xác nào là chạy hàng trăm bài kiểm tra điểm chuẩn đối với nhiều trang web, nhiều lần trong một ngày, vào các ngày khác nhau trong tuần, trong vài tuần. Bạn sẽ phải làm điều này cho các trình duyệt khác nhau, hệ điều hành khác nhau, nền tảng phần cứng khác nhau, cung cấp Internet khác nhau, công nghệ mạng, mã hóa, v.v. Không ai làm điều này.
Việc đo lường phản hồi của trình duyệt cũng không đơn giản. Những gì mắt bạn nhìn thấy không phải là những gì phần mềm nhìn thấy. Bạn có thể tạo cảm nhận về tốc độ bằng cách sử dụng các hiệu ứng chuyển tiếp trực quan bên trong giao diện trình duyệt, trong khi kết xuất thực tế vẫn giữ nguyên. Một ví dụ điển hình về sự chậm chạp được nhận thức và thực sự là việc mở các tab mới trong Internet Explorer, so với đối thủ cạnh tranh. Trong khi Firefox, Chrome và phần còn lại mở các tab ngay lập tức, khi không bị phần mềm chống vi-rút ngu ngốc làm tê liệt và tương tự, Internet Explorer mất khoảng. nửa giây để mở một tab. Điều này làm cho một sự khác biệt lớn. Ngay cả khi nội dung được tải nhanh sau đó, hiệu ứng tổng thể vẫn bị hủy hoại.
Để đạt được mục tiêu này, các nhà phát triển đã đưa ra đủ loại tiêu chuẩn tính toán, nhấn mạnh vào công cụ kết xuất của trình duyệt, đáng chú ý nhất là thành phần Javascript. Bạn chắc chắn có thể thấy sự khác biệt lớn trong loại thử nghiệm này.
Tuy nhiên, kết quả cần phải được chấm với một chút muối, và có thể cả hạt tiêu nữa. Điểm chuẩn Javascript thô là tốt và tốt, nhưng nó không tính đến thực tế của Web.
Nhiều trang sử dụng lượng mã tương đối nhỏ, được thực thi trong vòng vài mili giây, rất lâu trước khi người dùng có thể nhận thấy bất kỳ điều gì. Mặt khác, các bài kiểm tra điểm chuẩn mất vài giây để thực thi và hoàn thành, gấp nhiều lần so với tải trang thông thường. Điều này có nghĩa là bất kỳ lợi thế rõ ràng nào mà một trình duyệt có thể có so với trình duyệt khác đều bị giảm đi. Đầu tiên, hãy bắt đầu với sự cường điệu.
Một ví dụ vô ích
Điều này thuộc về phần đầu tiên của tôi về sự chậm chạp của trình duyệt, nhưng tôi không thể từ chối sự cám dỗ. Gần như mọi chuyên gia trình duyệt sẽ đưa cái gọi là bắt đầu lạnh và nóng vào biểu đồ Excel của họ để tăng thêm chiều sâu cho thử nghiệm có vẻ khoa học đối với trình duyệt của họ. Một khởi đầu lạnh lùng là giao diện trình duyệt mở ra nhanh như thế nào trong lần đầu tiên bạn khởi chạy chương trình sau khi khởi động lại máy. Khởi đầu hấp dẫn là khởi chạy lại trình duyệt lần thứ hai hoặc thứ ba.
Đừng quên rằng bạn cần thực hiện kiểm tra vài trăm lần trên các hệ điều hành và nền tảng phần cứng khác nhau để kiểm tra của bạn có hiệu lực, nhưng ngay cả như vậy, khởi động nguội cho bạn biết điều gì? Nó không phải là một chiếc xe jeep Lada Niva đang cố khởi động trong mùa đông ở Siberia. Đó là một trình duyệt, phụ thuộc vào hàng trăm quy trình chạy ngầm cạnh tranh cho hàng đợi CPU, bộ lập lịch, mức độ ưu tiên và hàng triệu tham số khác mà không ai quan tâm khi họ chạy các bài kiểm tra vô dụng của mình.
Khởi động nóng cũng vậy. Khi đóng hệ điều hành có giải phóng tất cả các trang khỏi bộ nhớ và bộ đệm kernel không? Điều gì về bộ nhớ cache và thông lượng bộ nhớ của bạn? Còn bộ nhớ dùng chung thì sao? Đĩa của bạn đang làm gì vào lúc này? Là nó quay? Nó nhanh như thế nào? Và kể từ đó trở đi. Không có câu hỏi nào trong số này từng được trả lời trong bất kỳ điểm chuẩn tốc độ trình duyệt nào và chúng chỉ trở nên tồi tệ hơn khi bạn làm việc với mã công cụ trình duyệt.
Kết quả cuối cùng của bạn là một loạt các biểu đồ tự kỷ với các con số, được đưa ra khỏi ngữ cảnh. Nhưng mọi người đều là chuyên gia. Và sau đó, bạn dựa vào các chuyên gia để cho bạn biết điều gì được coi là nhanh, dựa trên tốc độ mà mắt họ có thể cảm nhận được việc tải các phần tử web trên các trang web yêu thích của họ trong trình duyệt yêu thích của họ trên máy tính để bàn tùy chỉnh hoặc netbook giá hời.
Một ví dụ ít vô dụng hơn
Để tranh luận, bài kiểm tra điểm chuẩn của Sunspider có thể mất 5 giây để hoàn thành trong trình duyệt A, 10 giây trong trình duyệt B. Sự khác biệt năm giây là rất đáng kể. Tuy nhiên, một trang web trung bình mất khoảng một giây để tải, bằng một nửa thời gian dành cho việc thực thi Javascript. Điều này có nghĩa là nếu trình duyệt A mất 0,5 giây để thực hiện một thao tác thì trình duyệt B sẽ mất 1 giây. Là nửa giây đáng chú ý? Có lẽ. Nhưng nó chắc chắn không đáng kể.
Bây giờ, điều gì sẽ xảy ra nếu hai trình duyệt khác nhau 40% (vẫn còn rất nhiều). Sự khác biệt tương đối bây giờ trở thành 0,2 giây. Đó là khoảng cách xa như bạn chớp mắt. Đây là khoảng. ngưỡng phản hồi của con người, vì vậy mọi thứ trong khung thời gian đó đều giống nhau đối với người dùng. Và chúng ta đang nói về tốc độ kết xuất của công cụ thuần túy, không quan tâm đến tất cả các thành phần web khác, nội dung, v.v.
Bây giờ, nếu bạn so sánh các trình duyệt hiện đại, bạn sẽ thấy sự khác biệt tổng thể đó, ở đây và ở đó, lớn về số liệu thống kê, nhưng nhỏ về mặt con người. Nếu bạn tổng hợp trong vài giờ duyệt web, bạn có thể yêu cầu một số giá trị đối với điểm chuẩn, nhưng đối với con người, những người đánh giá cao việc duyệt web của họ theo lượng tức thời, thời gian là không đáng kể.
Giải thích thêm ...
Hơn nữa, chúng ta cũng phải chú ý đến việc thời gian thêm trong trình duyệt chậm hơn ảnh hưởng đến người dùng như thế nào. Nếu sự chậm chạp thể hiện ở một số loại nút ở cuối trang được tải lần cuối, sẽ không ai nhận thấy điều này. Người dùng sẽ bận rộn đọc, xem hình ảnh, tiếp thu bố cục và các yếu tố của trang web. Họ sẽ khó thấy bất kỳ yếu tố cụ thể nào đang cố gắng theo kịp.
Sau đó, khi bạn muốn mở một trang mới, bạn sẽ làm gì? Chà, nếu bạn thậm chí là người bán thành thạo, bạn sẽ nhấp chuột giữa vào liên kết quan tâm, thao tác này sẽ mở liên kết đó trong tab thứ hai, trong khi vẫn tập trung vào liên kết hiện tại. Bạn sẽ tiếp tục làm bất cứ điều gì bạn đang làm và cuối cùng chuyển sang tab tiếp theo. Tâm trí của bạn thậm chí sẽ không thừa nhận thêm giây mà nó có thể đã mất để tải trang khác. Đối với tất cả các mục đích thực tế, duyệt Web là một hoạt động liền mạch.
Cuối cùng, nhiều trang chứa hàng tấn mã được tối ưu hóa phụ, mã không tuân thủ các tiêu chuẩn và thậm chí có lỗi. Nếu bạn chạy kiểm tra xác thực đối với các khu nghỉ dưỡng trực tuyến nổi tiếng của mình, bạn sẽ ngạc nhiên trước số lượng lỗi và cảnh báo. Nhiều trang web không tuân thủ. Đừng quên các bản hack dành riêng cho trình duyệt, đáng chú ý nhất là các bản hack IE6 được yêu cầu để làm cho trình duyệt cũ hiển thị các trang với bất kỳ loại độ trung thực nào so với bản gốc. Tất cả những thứ này thêm một lượng nhiễu đáng kể khiến độ chính xác không chính xác.
Điểm chuẩn là tốt cho đường đua. Bạn có thể so tài Bugatti Veyron với McLaren F1 và xem chiếc nào thắng trên đường đua Nurburgring. Nhưng bạn có thể biết chiếc nào sẽ băng qua Luân Đôn nhanh hơn, vào lúc 8 giờ sáng thứ Hai không?
Nó giống với các trình duyệt. Các xét nghiệm vô trùng trong phòng thí nghiệm sẽ kể cho bạn một câu chuyện và đó là một câu chuyện hay. Nhưng thực tế sẽ biến câu chuyện thành một mớ hỗn độn. Điểm chuẩn sẽ đúng nếu các trình duyệt khác nhau theo thứ tự độ lớn, nhưng đối với các trình duyệt có hiệu suất tương tự, trong vòng vài chục phần trăm, kết quả cuối cùng sẽ gần như giống nhau. Người dùng sẽ không biết sự khác biệt.
Một lần nữa, một ví dụ cá nhân. Firefox, Chrome và Opera (khi tôi sử dụng nó), tất cả đều cho kết quả gần giống nhau. Chrome cho cảm giác nhanh hơn và nhẹ hơn nhưng các thử nghiệm thực tế của tôi không cho thấy lợi thế rõ ràng nào. Việc sử dụng bộ nhớ khác nhau từ máy này sang máy khác, hệ điều hành này sang hệ điều hành khác. Cuối cùng, nó trở thành sở thích và thói quen.
Tuy nhiên, chính xác là tôi không thể không cảm thấy muốn đốt cháy ai đó bất cứ khi nào họ đề cập đến điểm chuẩn của trình duyệt. Bạn không thể vô tư trước những tuyên bố đẹp đẽ, hùng hồn và trên hết là khoa học như "Trình duyệt X dở tệ" và "Trình duyệt X nhanh hơn" được thốt ra bởi những người có thể, vào một ngày đẹp trời, không bị bối rối khi buộc dây giày. Nhưng mọi người đều có bằng tiến sĩ về Internetics.
Cuối cùng, tại sao điểm chuẩn lại vô nghĩa
Nếu các phần dài và chi tiết ở trên không làm hài lòng những người hoài nghi hơn trong số các bạn, thì hãy chuẩn bị tinh thần. Điểm chuẩn là vô nghĩa bởi vì chúng trước hết là một trò đóng thế công khai. Chúng được sử dụng để tạo ảo giác về sự hoàn hảo và thu hút sự chú ý khỏi những thứ thực sự quan trọng, như bảo mật, quyền riêng tư, khả năng sử dụng, tính mô-đun, khả năng tương thích.
Điểm chuẩn tốc độ giúp tạo ra các video giống như Ma trận đáng yêu và các bản nhại của chúng, điểm chuẩn khiến các fanboy phấn khích trên các diễn đàn, điểm chuẩn tạo nên tiêu đề hấp dẫn trong các bài báo được viết bởi những người không có kiến thức cơ bản về Thiết kế Thử nghiệm, nhưng chúng không giúp cuộc sống của bạn nhanh hơn chút nào.
Phần mềm chỉ là một phần của trải nghiệm duyệt web. Và chúng tôi quên người dùng. Người bấm vào. Mọi người suy nghĩ trong vài giây, nếu không lâu hơn. Sự khác biệt trong một phần nghìn giây mà bạn nhận được từ việc tối ưu hóa công cụ kết xuất của mình để đạt được sự hoàn hảo tàn bạo sẽ bị mất đi đối với những người chỉ muốn nói chuyện với những người bạn thực sự của họ trên Facebook hoặc đọc một bài báo về người nổi tiếng này nọ.
Hầu hết mọi người không biết trình duyệt là gì. Thậm chí ngày nay, phần lớn người dùng Windows chạy Internet Explorer, trình duyệt mặc định được cung cấp cùng với hệ điều hành của họ. Đối với người dùng thông thường, Internet đồng nghĩa với Internet Explorer. Trình duyệt là thứ ăn lá và chồi non. Javascript là một loại chữ kỳ lạ được sử dụng trên đảo Java. Điểm chuẩn có lẽ là một dấu hiệu cảnh báo trên băng ghế công viên mới sơn.
Các chuyên viên máy tính có thể yêu thích phần nghìn giây của họ, nhưng điều đó không tạo ra sự khác biệt nào. Tệ nhất là, các trình duyệt có thể hoàn hảo, nhưng chúng lại được sử dụng bởi những người bình thường. Nếu có điều gì tệ hơn việc trao một sản phẩm hoàn hảo cho một kẻ khờ khạo, thì tôi không thể nghĩ ra nó có thể là gì. Ngoại trừ có thể xem truyền hình thực tế, nghiên cứu hóa học hoặc chết trong một vụ tai nạn tàu vũ trụ.
Nhưng đó là một sự điên cuồng, và nó đã bắt được. Một nhà cung cấp trình duyệt đã quyết định hét toáng lên rằng họ có sản phẩm nhanh nhất và phần còn lại cũng làm theo. Không ai dám dừng lại và suy nghĩ. Nó quá rủi ro. Không ai muốn tỏ ra lỗi thời trong cuộc đua hiện đại này.
Giờ đây, mọi trang web muốn nghe có vẻ sang trọng và công nghệ đều viết những từ dài dòng về Javascript và những thứ tương tự, sử dụng các trích dẫn và con số được lặp đi lặp lại hàng loạt để chứng minh điều gì đó thực sự không thể chứng minh được. Đó là Hiệu ứng con khỉ thứ trăm. Điểm chuẩn trình duyệt đã trở thành chén thánh của điểm chuẩn trình duyệt. Nó thực sự không có gì khác biệt về ý định ban đầu. Không sao. Bạn phải có trình duyệt nhanh nhất, bất kể điều này có nghĩa là gì. Cuối cùng ... nếu bạn vô tình tắt Javascript trong trình duyệt của mình, bạn sẽ biến tất cả các điểm chuẩn đáng yêu này trở nên vô nghĩa. Nó quay trở lại văn bản, như nó phải vậy. Ồ, thật tàn nhẫn.
Món tráng miệng
Nhưng nó hầu như không dừng lại ở đó. Nhập HTML5 và codec trình duyệt. Nếu bạn nghĩ điểm chuẩn của trình duyệt là ngớ ngẩn, thì bạn nên xem tất cả những điều này là gì. Nhưng, đó là một câu chuyện hoàn toàn khác. Một bài viết khác, có lẽ. Và chúng ta cũng sẽ nói về các tab trên cùng!
Kết luận
Tôi hy vọng bạn thích bài viết này. Nhưng bạn có thể đã không. Bạn bị thuyết phục, với niềm tin của một người Spartan đối mặt với quân Ba Tư, rằng trình duyệt của bạn là đỉnh cao của công nghệ và nó nắm giữ câu trả lời cho sự sống, vũ trụ và mọi thứ. Nhưng nó không. Và Javascript, như một từ, được đánh giá quá cao.
Tôi cá với bạn một florin rằng thiết lập máy tính của bạn có ít nhất mười biến có thể được điều chỉnh trước khi bạn để trình duyệt của mình thở ở tốc độ tự nhiên. Nó không phải là trình duyệt chậm. Đừng đổ lỗi cho trình duyệt. Tốt rồi. Ngoại trừ có thể là Internet Explorer. Tuy nhiên, phiên bản 9 có vẻ hợp lý.
Dù sao đi nữa, điểm chuẩn Javascript đều tốt và tốt, nhưng nó không liên quan gì đến thực tế. Đối với tất cả các mục đích thực tế, bạn có thể có chuột lang cung cấp năng lượng cho trình duyệt của mình. Ngừng lãng phí thời gian của bạn để lo lắng và quan tâm đến những điều vô nghĩa và tập trung vào những điều quan trọng, chẳng hạn như tuân thủ và ổn định W3C của trình duyệt. Bây giờ, bạn đang nói chuyện kinh doanh.
Chúc mừng.