2013-08-24 42 views
0

我覺得這是一個愚蠢的問題,因爲我非常確定spritesheet使用整個工作表的內存,但我只是想讓100%確定,並且無法在任何地方找到答案。對於一個html項目,我想成爲'聰明',儘可能少的HTTP請求,所以我創建了一個2048x2048圖像,只有大約150x150沒有被使用,這實際上是偉大的,因爲它可以讓我添加其他圖像未來如果我需要的話。spritesheet是否使用整個工作表的資源或只有從中加載的資源?

問題是,在購買和配置服務器後,我很害怕是否有很多人同時連接,服務器會使用更多的內存用於更大的spritesheet?我在任何特定時間只使用精靈表中10%的圖像,當它們改變時,先前的圖像被替換。因此,製作一個大文件是否愚蠢,它是否會無緣無故地使用額外的內存?這裏的經驗法則是,對於總是被加載的圖像使用大精靈表,然後將剩下的部分拆分成僅在特定時間使用的較小精靈表?

感謝您的任何建議和抱歉的新手問題。再次感謝您的幫助

回答

1

要回答你的問題,是的整個工作表加載到內存中。

但是,只有一次。

每個CSS只顯示一小部分精靈。

理論上:當您從一個頁面移動到另一個頁面時,一個大圖像已經在緩存中,並且不再從服務器請求。使下一頁加載速度更快。

有很多關於緩存v/s的請求數量v/s圖像的組合大小將進入更完整的答案。

+0

謝謝你的回答!其實網站更像是一個國家的infograph。點擊美國,然後點擊狀態,例如它會加載一組與該狀態有關的圖像。這是我的觀點,它只有一次從一個spritesheet中加載10%的內容,因爲一旦這個人選擇了一個不同的狀態,當前的圖像就被替換爲不同的狀態。很多時候人們只會加載一些狀態,所以你會說加載每個狀態都有它自己的spritesheet,或者一個大的spritesheet更好?我也關心服務器內存 –

+0

你可以發佈一個鏈接到網站,以便我可以看看嗎?我會爲你的答案提供一個更好的主意。 –