2010-12-09 44 views
0

在iPad模擬器中進行了幾次測試後,我發現GL_RGBA GL_UNSIGNED_SHORT_4_4_4_4格式的1024x1024 16位紋理分配了4 MB內存,這是1024x1024 32 bpp。目前我無法在真實設備上測試此行爲。iPhone模擬器:OpenGL ES:內部紋理格式

有誰知道每個通道的RGBA 4位是否由iPad支持或不支持?

建議在文檔中使用GL_UNSIGNED_SHORT_4_4_4_4來提高內存效率,建議使用模擬器進行內存測試......這裏有些問題。

回答

3

其實,OpenGL ES Programming Guide for iOS告訴你測試的模擬器性能:

重要:在模擬器 的OpenGL ES的渲染性能沒有關係 到的OpenGL ES上的表現一個 實際設備。模擬器提供了 優化軟件光柵化器, 利用了您的 Macintosh計算機的矢量處理能力 。因此,您的 OpenGL ES代碼可能會在iOS模擬器中運行得更快或者運行速度較慢(取決於您的計算機的 圖和您的 圖),而不是在實際設備上運行。 始終在真實設備上剖析並優化您的 繪圖代碼,並且 永遠不會假定模擬器反映了 真實世界的性能。

在該引導件的「Best Practices for Working with Texture Data」部分,它們建議使用的PowerVR紋理壓縮(PVRTC)紋理代替任何的未壓縮格式。 PVRTC紋理將使用比任何未壓縮格式少得多的內存(相比於32位未壓縮紋理,其內存要少8倍或16倍)。

在問候每通道4位,他們也說明這一點:

如果您的應用程序無法使用 壓縮的紋理,可以考慮使用 精度較低的像素格式。在RGB565,RGBA5551或 RGBA4444格式中使用紋理的 格式使用RGBA8888格式的紋理的內存的一半 。

+0

在技術講座中,標準的Apple建議是(i)使用PVR格式;和(ii)利用通過提高紋理分辨率節省的空間。所以這是一個更爲微妙的質量/空間折衷,可能會立即顯而易見。 – Tommy 2010-12-09 23:32:52