2013-06-18 9 views
5

Nếu tôi hiển thị SVG thông thường trong trình duyệt (hoặc dưới dạng tệp độc lập hoặc được nhúng trong HTML), có sự khác biệt về mặt lý thuyết về hiệu quả giữa việc có nhiều phần tử đường dẫn riêng biệt và một phần tử đường dẫn khổng lồ không?Cái nào hiệu quả hơn trong SVG, nhiều đường nhỏ hoặc một đường dẫn khổng lồ?

Tôi đang nghĩ đến việc thực hiện một số loại hoạt ảnh từ một bức ảnh thành một bức tranh hoàn toàn khác. Nếu tôi có thể vẽ cả hai chỉ với một thẻ <path> mỗi, hoạt ảnh giữa chúng sẽ dễ dàng hơn nhiều. Tuy nhiên, tôi lo lắng rằng nếu đường dẫn quá lớn, quá trình xử lý có thể lâu hơn hoặc kém hiệu quả hơn.

tôi đã không kiểm tra này bản thân mình bởi vì nó sẽ đòi hỏi concatenating rất nhiều con đường bằng tay, mà tôi không muốn lãng phí thời gian trên nếu nó hóa ra là hideously không hiệu quả cuối cùng :-(

Dường như không tìm thấy bất cứ điều gì trong tài liệu về điều này, hoặc tại W3C hoặc Mozilla Bất kỳ ý kiến ​​nào được đánh giá cao

+0

Điểm chuẩn, điểm chuẩn, điểm chuẩn, sau đó đăng kết quả của bạn dưới dạng câu trả lời ;-) –

+3

@JanDvorak Yeah ... Sau khi đọc câu trả lời của Nick Bastin, tôi sẽ tiếp tục và thực hiện nó, và kiểm tra xem nó khác bao nhiêu. Tôi chỉ hy vọng một người nào đó có thể nói * "Ồ vâng, phân tích đường dẫn dài chậm hơn/nhanh hơn nhiều lần phân tích đường dẫn ngắn; mọi người ai biết điều đó!" * –

+0

Tôi trực giác sẽ sử dụng một con khổng lồ. @JanDvorak: thậm chí chỉ mất thời gian trôi qua trên một nền tảng cụ thể, nó sẽ là một nhiệm vụ khó khăn. Có thể một số công cụ từ mã MDN hoặc goggle có thể hữu ích. Bất kỳ gợi ý nào? – CapelliC

Trả lời

1

Bạn không cần phải làm điều đó bằng tay, nó không tầm thường để kiểm tra điều này với một trình phân tích cú pháp xml nhỏ dữ liệu đồ chơi nếu bạn phải)

Điều đó đang được nói, trong một thế giới hợp lý mà không tối ưu hóa hoàn toàn kỳ lạ (nơi các con đường nhỏ kết thúc d trên cùng một điểm sẽ trở thành một con đường dài duy nhất), đường dẫn dài là tốt hơn - nhưng có lẽ chỉ bằng một vài byte. Hiệu suất hiển thị không thực sự khác nhau - bất kỳ trình kết xuất thông minh nào sẽ sử dụng các nguyên thủy thích hợp sao cho cạc đồ họa có thể hiển thị từng đoạn riêng lẻ.

Bạn chắc chắn có thể tìm thấy parsers xấu và kết xuất đồ họa, do đó thực sự là câu hỏi cho bạn là sẽ đi xuống một vài thành phần:

  1. Bạn có thể kiểm soát những gì phân tích cú pháp/renderer khách hàng của bạn sử dụng không?
  2. Nhanh hơn với đường dẫn dài hay ngắn?

Nếu bạn không thể kiểm soát những gì khách hàng đang sử dụng thì bạn sẽ phải xây dựng một bộ dữ liệu thử nghiệm và kiểm tra trên mọi hoán vị chung bất kể chúng tôi nói gì ở đây.

+0

'bạn sẽ phải [...] kiểm tra [...] bất kể những gì chúng tôi nói ở đây': -/Tôi có cảm giác có thể xảy ra.Ngẫu nhiên, lý do tôi cần phải làm điều đó bằng tay là bởi vì các đường dẫn đến từ một số nguồn khác nhau, nếu không tôi chỉ cần xây dựng một trình phân tích cú pháp đơn giản như bạn đề xuất. Tuy nhiên, nhờ câu trả lời của bạn, tôi ít tự tin hơn rằng bất kỳ sự khác biệt nào cũng sẽ không đáng kể. Chi phí cơ hội của việc kiểm tra nó dường như không cao đến mức bây giờ. Chúc mừng! –

+0

@DavidJohnWelsh Vâng, tôi chỉ có nghĩa là cho các mục đích thử nghiệm bạn có thể giả mạo một số dữ liệu và khâu/unstitch các đường dẫn với một phân tích cú pháp đơn giản. –