2010-05-21 19 views
9

Mỗi lần chúng tôi thêm một lớp mới để OpenLayers của chúng tôi dựa trên trang web (dữ liệu được cung cấp chủ yếu bởi một máy chủ geoserver), chúng tôi thảo luận về việc có nên sử dụng một đơn ngói hoặc a cách tiếp cận lát gạch.OpenLayers, Layers: cafe vs ngói đơn

Một số các thông số chúng tôi đánh giá như sau:

Sử dụng cách tiếp cận lát gạch chúng tôi nhận được:

  • tích tụ chậm nhưng liên tục của viewport
  • Rất nhiều hình ảnh nhỏ
  • Khả năng lưu bộ nhớ cache phía máy khách
  • Chặn đường ống nạp (6 yêu cầu tại một thời điểm)
  • Jerky cảm giác khi điều hướng trong tải

Sử dụng đơn ngói cách tiếp cận chúng tôi nhận được:

  • cảm giác Smoother khi điều hướng trong tải
  • Thời gian trễ trước khi lớp được tải
  • Một hình ảnh lớn cho mỗi lớp
  • Không bộ nhớ đệm của ngói đơn

Chúng tôi có rất nhiều chỉnh sửa dữ liệu trong các lớp, do đó một gạch-cachethể không phải là hiệu quả.

Có bất kỳ thực tiễn tốt nhất khi nói đến ốp lát không?

Tiến bộ về phía phần cứng vô cùng nhanhkết nối dữ liệu không giới hạn, các cuộc thảo luận trở nên không thích hợp, nhưng những gì cấu hình Bạn percieve như hầu hết sử dụng làm hài lòng?

Trả lời

6

Hầu hết người dùng làm hài lòng IMO sẽ là phản hồi ngay lập tức thông qua việc tải dần các ô xếp sau bất kỳ chế độ xoay hoặc thu phóng nào. Tôi thực sự chỉ sử dụng các ô duy nhất cho các báo cáo tùy chỉnh ở quy mô hoặc kích thước không tương ứng với các lát của tôi.

Nó không chắc chắn từ bài viết của bạn như thế nào bạn đang phục vụ dữ liệu của bạn. Mỗi tập dữ liệu được phân phát từ một dịch vụ WMS riêng biệt hay được kết hợp thành một?

Bạn luôn có thể nhóm các lớp thay đổi hiếm khi và đặt các lớp này thành lát được lưu trong bộ nhớ cache và các lớp được chỉnh sửa thường có các lớp đơn lẻ không được lưu trữ riêng biệt (hoặc thời gian bộ nhớ cache ngắn hơn).

Vấn đề chính với gạch là số bạn có thể tải tại cùng một lúc. Nếu bạn tăng tốc độ này thì có thể không có sự khác biệt đáng kể về tốc độ.

Đối với hiệu suất ngói:

  • Bạn có thể tăng gấp đôi số lượng gạch mà tải tại một thời điểm bằng cách sử dụng hai lĩnh vực khác nhau để tải gạch ví dụ imsg1.maps.com và imgs2.maps.com
  • Bạn có thể giảm vùng đệm xung quanh khung nhìn để chỉ các ô hiển thị được tải.
  • Có một số mẹo hiệu suất tại http://trac.mapfish.org/trac/mapfish/wiki/HowToOptimize

Giả sử bạn đang sử dụng WMS sau đó các liên kết sau đây có thể giúp quyết định "thực hành tốt nhất":