• JP Lee

Tile Based Deferred Rendering

Tile Based Deferred Rendering

Immediate ModeRendering (IMR)

ๆŠŠไธ‰่ง’ๅฝขRasterizing๏ผŒไปฅๅƒ็ด ๏ผˆpixel๏ผ‰ไธบๅ•ไฝ่ฟ›่กŒShading็š„ไผ ็ปŸๆ–นๅผใ€‚ไธ‰่ง’ๅฝข้€š่ฟ‡ๆตๆฐด็บฟๅŠๆ—ถ็งปๅŠจใ€‚่€—็”ตไปฅๅŠๆตช่ดนmemory bandwidth๏ผˆEarly Visibility TestๅŠŸ่ƒฝ๏ผšไธบไบ†ไฝฟ็”จ่ฟ™ไธชๅŠŸ่ƒฝ๏ผŒไธ‰่ง’ๅฝข่ฆไปฅๅบๅˆ—็š„ๆ–นๅผ่ฟ›ๅ…ฅใ€‚ๅ› ๆญค๏ผŒๅบ”ๅœจๅบ”็”จ้ƒจๅˆ†ๅฐ†ไธ‰่ง’ๅฝข่ฟ›่กŒๅˆ†็ฑป๏ผˆsorting๏ผ‰ใ€‚

Tile BasedRendering (TBR)

ๅœจEmbeddedไธญๆˆๆœฌๆœ€้ซ˜็š„ๆ˜ฏๅ†…ๅญ˜็š„่ฏปๅ†™ใ€‚ๅ†…ๅญ˜็š„่ฏปๅ†™ไธŽ็”ต้‡ๅ’Œmemory bandwidthๅฏ†ๅˆ‡็›ธๅ…ณใ€‚ๆ‰€ไปฅๅœจEmbeddedไธญๆœ€ๆœ‰ๆ•ˆ็š„ไผ˜ๅŒ–ๆ–นๆณ•ไน‹ไธ€ๆ˜ฏๅ‡ๅฐ‘ๅ†…ๅญ˜่ฎฟ้—ฎ็š„ๆฌกๆ•ฐใ€‚TDRๅบฆไธบไบ†ๅ–ไปฃไปฅๅ‰ไฝฟ็”จ็š„ๅฐ†ๅœจIMRไธญ็š„ๅฏ่งไธ‰่ง’ๅฝขๆŒ‘้€‰ๅ‡บๆฅ็š„Z-buffer๏ผˆdepth buffer๏ผ‰่€Œ็ ”ๅ‘็š„ๆ–นๆณ•ใ€‚ๅฐ†่ฆๆธฒๆŸ“็š„็”ป้ขๅˆ†ๆˆ่ฎธๅคštile๏ผŒไปฅtileไธบๅ•ไฝ่ฟ›่กŒrasterizationใ€‚๏ผˆๆ นๆฎไธๅŒ็š„็ณป็ปŸๆƒ…ๅ†ต๏ผŒๅญ˜ๅœจๅŒๆ—ถ็งปๅŠจ็š„tileใ€‚ไฝ†ๆ˜ฏไธๆ˜ฏๆ‰€ๆœ‰็š„ไธ‰่ง’ๅฝข้ƒฝ่ƒฝๅŠๆ—ถ้€š่ฟ‡ๆตๆฐด็บฟ่ฟ›่กŒ็งปๅŠจใ€‚๏ผ‰๏ผˆๆฏไธ€ๆฌกๅˆ’ๅˆ†tile็š„ๆ—ถๅ€™๏ผŒ็กฌไปถไผšๅˆ›ๅปบๅŒ…ๆ‹ฌๅ„tileๅœจๅ†…็š„ๆœ‰ๅ…ณGeometryๅˆ—่กจ็š„ๆŒ‡้’ˆใ€‚ไฝฟๅพ—ๅ„ไธชtileๅœจ่ฟ›่กŒๆธฒๆŸ“็š„ๆ—ถๅ€™๏ผŒ้ƒฝๅฏไปฅ่Žทๅ–็›ธๅ…ณ็š„Geometry bufferใ€‚๏ผ‰่ฟ™ๆ ทไธไฝฟ็”จz-buffer๏ผŒๆ”น็”จtile่ฟ›่กŒๅค„็†็š„่ฏ๏ผŒๅชไฝฟ็”จๅœจsystem-memoryไธŠ็š„intermediate buffer ๅฐฑๅฏไปฅ่งฃๅ†ณไบ†ใ€‚

Tile BasedDeferred Rendering (TBDR)

TDR็š„ๆ”น่‰ฏ็‰ˆๆœฌใ€‚ๅœจTDR้‡ŒไนŸๅฏไปฅๅฏน็œ‹ไธ่ง็š„้ƒจๅˆ†่ฟ›่กŒShadingๆˆ–่ดดๅ›พ๏ผˆTexture Mapping๏ผ‰ใ€‚ๅœจTBDRไธญ๏ผŒGPU้‡Œ้ข้€š่ฟ‡ๅˆ†็ฑปๆ‰พๅ‡บไธ‰่ง’ๅฝขๆŽ’ๅˆ—้กบๅบ๏ผŒๅฏไปฅๅŽปๆމไธๅฏ่ง็š„้ƒจๅˆ†๏ผ‰่ฟ™ไธชๆ–นๆณ•็งฐไธบHidden Surface Removal (HSR)ใ€‚ๅ› ไธบๅŽปๆމไบ†ๆฒกๆœ‰ๆ„ไน‰็š„ไธ‰่ง’ๅฝข.๏ผŒๆฏ”่ตทTBR๏ผŒๆ›ดๅ……ๅˆ†ๅœฐๅˆฉ็”จไบ†memory bandwidthTBDR็š„ไผ˜็‚นๅฆ‚ไธ‹1. ๅ› ไธบๆฒกๆœ‰Z-buffer๏ผŒๅ†…ๅญ˜ๅˆฉ็”จ็އๆ›ด้ซ˜2. ๆฒกๆœ‰Z-buffer่ฎฟ้—ฎ๏ผŒๅ‡ๅฐ‘ๅผ€้”€3. ไธ็”จๆ‹…ๅฟƒๆธฒๆŸ“้กบๅบ๏ผŒๅฏไปฅๆญฃ็กฎ็š„ๅค„็†ๅŠ้€ๆ˜Žๆ•ˆๆžœใ€‚(blendingๆ•ˆๆžœ).

Alpha Blending ๅ’Œ Alpha Test

Alpha Blending(Alpha Blending) VS Alpha Test(Alpha Test)ๅœจไผ ็ปŸDesktop Gameไฝฟ็”จ็š„้”‚ๆๆ–™๏ผŒๆฏ”่ตทAlpha Blending๏ผŒๆ›ดๅปบ่ฎฎไฝฟ็”จAlpha Testใ€‚ๅœจไธ้€ๆ˜Ž็š„ๆƒ…ๅ†ตไธ‹๏ผŒๅƒไธ้€ๆ˜Ž็š„้“ไธ็ฝ‘๏ผŒๆ’•่ฃ‚็š„่กฃๆ–™๏ผŒๆฏ”่ตท็”จๆˆๆœฌ้ซ˜็š„blending่ฟ›่กŒ่ฎก็ฎ—๏ผŒไธๅฆ‚ไฝฟ็”จAlpha Test๏ผŒๅŒๆ—ถไนŸๅฏไปฅ็œๅŽปๅƒ็ด ่ฎก็ฎ—็š„ๆญฅ้ชคใ€‚ไฝ†ๆ˜ฏๅœจMobile Gameไธญ๏ผŒๅˆšๅฅฝไธŽๆญค็›ธๅ๏ผŒๆฏ”่ตทAlpha Test๏ผŒๆ›ดๆŽจ่ไฝฟ็”จAlpha Blendingใ€‚ ไธบไบ†่ฟ›่กŒAlpha Test๏ผŒPixel Shaderไธญไฝฟ็”จไบ†ๅŠจๆ€ๅˆ†ๆ”ฏ๏ผˆif่ฏญๅฅ๏ผ‰ใ€‚ๅœจๅฐๅผ็”ต่„‘ไธญๅฏไปฅ้ซ˜้€Ÿๅค„็†Shader็š„ๅŠจๆ€ๅˆ†ๆ”ฏ๏ผŒไฝ†ๅœจ็งปๅŠจ่ฎพๅค‡ไธŠๅฏนๅŠจๆ€ๅˆ†ๆ”ฏ็š„ๅค„็†ๅนถไธๅฅฝใ€‚ๅ› ๆญค๏ผŒAlpha Testๆˆไธบไบ†ไฝฟShaderๆ€ง่ƒฝ้™ไฝŽ็š„ๅŽŸๅ› ใ€‚่€Œไธ”๏ผŒTBDRๆ— ๆณ•้ซ˜้€Ÿๅค„็†ๅƒ็ด ๅฑ่”ฝใ€‚ไน‹ๅ‰ๆๅˆฐ่ฟ‡็š„ๅœจTBDRไธญ๏ผŒๆ”ถ้›†ๅฎŒDrawCall็š„Vertex Shader็ป“ๆžœ๏ผŒ็ป่ฟ‡Hidden Surface RemovalๅŽ๏ผŒๅฏนๅฎž้™…ไธŠ่ƒฝ็œ‹ๅˆฐ็š„ๅƒ็ด ่ฟ›่กŒๅค„็†ใ€‚ไฝ†ๆ˜ฏ่ฟ™ๅชๅฏนไธไฝฟ็”จAlpha Test็š„ๅฎŒๅ…จไธ้€ๆ˜Ž็š„mesh้€‚็”จใ€‚ๅ› ไธบไฝฟ็”จAlpha Test็š„่ฏ๏ผŒๅœจVertexๅค„็†้˜ถๆฎตๆ— ๆณ•ๅˆคๆ–ญPolygonๆ˜ฏๅฆ่ขซๅฑ่”ฝ๏ผŒๆ— ๆณ•่ฟ›่กŒDeferredๅค„็†ใ€‚ๅœจUnity3Dไธญ๏ผŒไธบไบ†้˜ฒๆญขไธŠ่ฟฐๆƒ…ๅ†ต็š„ๅ‘็”Ÿ๏ผŒๅœจๅฏนๅฎŒๅ…จไธ้€ๆ˜Ž็š„Object่ฟ›่กŒRenderingๅค„็†ๅŽ๏ผŒAlpha Testๅ†ๅฏนObject่ฟ›่กŒRenderingๅค„็†ใ€‚ๆ‰€ไปฅๆœ‰ๆกไปถ็š„ไฝฟ็”จAlpha Test็š„่ฏ๏ผŒๅนถไธไผšๅธฆๆฅไธฅ้‡็š„ๅŽๆžœใ€‚ไฝ†ๆ˜ฏ๏ผŒTBDR่Šฏ็‰‡็ป„็š„ๆž„้€ ไธ€ๅผ€ๅง‹ๅฐฑไธ้€‚ๅˆAlpha Test็š„ๅทฅไฝœ๏ผŒๆ‰€ไปฅๆœ€ๅฅฝไธ่ฆไฝฟ็”จAlpha Testใ€‚ ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์—, Unity3D์˜ ๋‚ด์žฅ Shader ์ค‘ Mobile ์นดํ…Œ๊ณ ๋ฆฌ์—๋Š” ์•ŒํŒŒ ํ…Œ์ŠคํŠธ Shader๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.ๅ› ๆญค๏ผŒUnity3D็š„ๅ†…็ฝฎShaderไธญ๏ผŒMobile็ฑปๅˆซไธญไธๅญ˜ๅœจAlpha Test Shaderใ€‚Alpha BlendingไธŽๆญค็›ธๅ๏ผŒๆฏ”ๅœจๅฐๅผ็”ต่„‘ไธŠ็š„่ฟ่กŒ้€Ÿๅบฆๆ›ดๅฟซใ€‚ๅ…ถ้€š่ฟ‡ๅ†…้ƒจ่ฏปๅ†™ๅฏน่ฑกbuffer่ฟ›่กŒAlpha Blending่ฟ‡็จ‹็š„่พ“ๅ‡บใ€‚่€Œๅœจๅฐๅผ็”ต่„‘ไธญ่ฆ่ฎฟ้—ฎไฝไบŽDRAM็š„frame buffer๏ผŒๅ ็”จไบ†ๅคง้‡็š„bandwidth.ไฝ†ๆ˜ฏๅœจTBDRไธญ,่ฟ™ไธช่ฟ‡็จ‹ๅ‘็”Ÿๅœจ่Šฏ็‰‡ๅ†…้ƒจ็š„Memory้‡Œ๏ผŒไปฅtileไธบๅ•ไฝ่ฟ›่กŒ๏ผŒๆ‰€ไปฅๅค„็†้€Ÿๅบฆๅพˆๅฟซใ€‚่กฅๅ……่ฏดๆ˜Ž ๆˆ‘ไปฌๆฅ็œ‹ไธ€ไธ‹mesh plan็š„ๅ›พ็‰‡ใ€‚ๅฆ‚ๅ›พ๏ผŒAlpha BlendingๅŒบๅŸŸๅ˜ๅคง็š„่ฏ๏ผŒๆฏ”่ตทๅขžๅŠ mesh้กถ็‚น๏ผŒๆ›ดๅฅฝ็š„ๆ–นๅผๆ˜ฏๅฐ†ๅฎƒๅˆ†่งฃ๏ผŒๅ‡ๅฐ‘้€ๆ˜Ž็š„ๅŒบๅŸŸ๏ผŒไปŽ่€Œๆœ‰ๅˆฉไบŽๆ•ดไฝ“ๆ€ง่ƒฝ็š„ๆ้ซ˜ใ€‚

Render Texture

ๅฆ‚ๆžœไฝฟ็”จRender Texture็š„่ฏ๏ผŒ Unity3Dไผšๅ†…้ƒจๆ”นๅ˜Render Targetใ€‚ๅœจๅฐๅผ็”ต่„‘ไธŠๆ”นๅ˜Render Target็š„ๅšๆณ•ไนŸไผš้™ไฝŽๅ…ถๆ€ง่ƒฝใ€‚ๅ› ไธบไธบไบ†ๆ”นๅ˜Render Target๏ผŒCPUไผš็ญ‰ๅพ…GPU็š„ๅๅบ”๏ผŒๆ‰“็ ดไบ†ไธค่€…็š„ๅนถๅˆ—ๅ…ณ็ณปใ€‚ ่€Œไธ”๏ผŒๅœจTBDR้‡Œไผšไบง็”Ÿๆ›ดไธฅ้‡็š„้—ฎ้ข˜ใ€‚Render Targetๅ˜ๅŒ–ๆ—ถ๏ผŒๅœจParameter Buffer็š„ๅ…จ้ƒจๆ•ฐๆฎ็ป่ฟ‡ๅค„็†ๅŽๅ‘Frame Buffer่พ“ๅ‡บ๏ผŒไธบRender Target็ฉบๅ‡บไบ†Parameter Bufferใ€‚ไปฅ่ฟ™็งๆ–นๅผ่ฟ›่กŒๆ—ถ๏ผŒRender Targetๅ˜ๅŒ–ๆ—ถ่ฆๅขžๅŠ deferredๅพช็Žฏ็š„ๅค„็†ใ€‚ๅ› ๆญค๏ผŒๅœจUnity3D็š„ๆ‘„ๅƒๆœบไธญๆŠŠRender TextureไฝœไธบTarget Textureไฝฟ็”จ็š„่ฏ๏ผŒไผš้™ไฝŽTBDR็š„ๅทฅไฝœๆ•ˆ็އใ€‚

ๅ›พ็‰‡ๅŽๆœŸๅค„็†ๆ•ˆๆžœ(Image post process Effect)

ๆœ€่ฟ‘็š„่ฎพๅค‡ๆ€ง่ƒฝๆœ‰ๆ‰€ๆๅ‡,ๅฏไปฅไฝฟ็”จๅฆ‚่ฐƒ่‰ฒ,Bloomๆ•ˆๆžœ็ญ‰ๅ›พ็‰‡ๅŽๆœŸๅค„็†ๅŠŸ่ƒฝใ€‚ไฝ†ๆ˜ฏ๏ผŒ่ฟ™ไบ›ๅ›พ็‰‡ๅŽๆœŸๅค„็†ๅŠŸ่ƒฝไธ่ƒฝๆปฅ็”จ๏ผŒๅช่ƒฝๆœ‰้€‰ๆ‹ฉๆ€ง็š„ไฝฟ็”จใ€‚้ฆ–ๅ…ˆ๏ผŒๅ›พ็‰‡ๅŽๆœŸๅค„็†ไผšๅœจๅ†…้ƒจๆ”นๅ˜Render Targetใ€‚ไฝ†ๆœ€ๅคง็š„้—ฎ้ข˜ๆ˜ฏbandwidthใ€‚ๅฐฝ็ฎกๅƒ็ด ๅค„็†่ƒฝๅŠ›ไนŸๅพˆ้‡่ฆ๏ผŒไฝ†ๆœ€้‡่ฆ็š„้—ฎ้ข˜ๆ˜ฏbandwidthใ€‚ๅ›พ็‰‡ๅŽๆœŸๅค„็†ๆŠŠRender Targetๅ˜ไธบ Pixel Shader็š„่พ“ๅ…ฅ็บน็†ใ€‚ๅ› ไธบ่ฟ™ๆ—ถ่พ“ๅ…ฅ็š„Textureไธๆ˜ฏ่Šฏ็‰‡ๅ†…้ƒจ็š„tile๏ผŒ่€Œๆ˜ฏไฝœไธบRender Targetๅ ็”จไบ†ๅ…ฌ็”จMemory๏ผŒๅ ็”จไบ†ๅคง้‡็š„ๅธฆๅฎฝใ€‚(ไพ‹ : 1080p)ๆ‰€ไปฅ๏ผŒ่ฆๆ…Ž้‡ๅœฐ่ฟ›่กŒๅ›พ็‰‡็š„ๅŽๆœŸๅค„็†ใ€‚

Camera Clear(Clear)

ๅœจไปฅๅ‰ๅฐๅผ็”ต่„‘็š„ๅ›พๅฝขๅกไธญ๏ผŒๆœ‰ๆฏๅธงๅผ€ๅง‹ๅ‰ๆ•…ๆ„ไธๆธ…้™คไน‹ๅ‰็š„ๅ†…ๅฎน๏ผŒๅณๆฏๅธง็ป˜ๅˆถๅœจไธŠไธ€ๅธงไน‹ไธŠ็š„ๆƒ…ๅ†ตใ€‚ไฝ†ๆ˜ฏ็Žฐไปฃ็š„ๅฐๅผ็”ต่„‘ไธ€ๅฎš่ฆ่ฟ›่กŒๆธ…้™ค๏ผŒๆ‰่ƒฝไฟ่ฏ็กฌไปถ้ซ˜้€Ÿ็š„่ฟ่กŒใ€‚ๅœจ็งปๅŠจ่ฎพๅค‡็š„TBRไธญไนŸๆ˜ฏๅฆ‚ๆญคใ€‚ๅชๆœ‰ๆธ…้™คๆ‰่ƒฝ็ฉบๅ‡บ่Šฏ็‰‡ๅ†…้ƒจ็š„Buffer,ๅŠ ้€ŸRendering่ฟ‡็จ‹ใ€‚ๆ‰€ไปฅๆ— ่ฎบๆ˜ฏๅฐๅผ็”ต่„‘๏ผŒ่ฟ˜ๆ˜ฏ็งปๅŠจ่ฎพๅค‡๏ผŒ้ƒฝไธๅปบ่ฎฎๅœจClear Flagๅฑžๆ€งไธญ้€‰ๆ‹ฉDonโ€™t clear้€‰้กนใ€‚

MSAA

ๅœจๅฐๅผ็”ต่„‘ไธญ๏ผŒMSAA็š„ๅผ€้”€ๅพˆๅคงใ€‚ๅ’ŒไธŠ้ขไธ€ๆ ท๏ผŒbandwidthๆ˜ฏๆœ€ๅคง็š„้—ฎ้ข˜ใ€‚ไพ‹ๅฆ‚๏ผŒ็”จMSAA 2Xๅค„็†ๅˆ†่พจ็އไธบ1080p็š„็”ป้ข็š„่ฏ๏ผŒ้œ€่ฆ็บฆ2160p็š„bandwidthใ€‚ๅฆ‚ๆžœไป…ไป…ๆ˜ฏDRAMๅฐฑๅ ็”จ้‚ฃไนˆๅคš็š„bandwidth๏ผŒๅผ€้”€ไผšๅพˆๅคงใ€‚ไฝ†ๆ˜ฏ๏ผŒ็”จTBRๆ–นๅผ็š„่ฏ๏ผŒๅค„็†ๅฏไปฅๅœจ่Šฏ็‰‡ๅ†…้ƒจ็š„ๅŒบๅ—ไธญๅฎŒๆˆใ€‚็”จ16x16ๆˆ–32x32ๅคงๅฐ็š„ๅŒบๅ—่ฟ›่กŒMSAA็š„ๅค„็†๏ผŒไธไผš้€ ๆˆๅพˆๅคง็š„ๅผ€้”€ใ€‚ๅœจUnity3Dไธญ๏ผŒๆŠŠ่ดจ้‡่ฎพ็ฝฎ๏ผˆQuality Settings๏ผ‰ ็š„Anti Aliasing่ฎพ็ฝฎไธบ2ๆˆ–4๏ผŒไพฟๅฏไปฅไฝฟ็”จMSAAใ€‚ ProfilingUnity3D5ไธญๆ–ฐๅขžไบ†Frame Debugger๏ผŒๆฏไธ€ๅธง้ƒฝๅฏไปฅๅœจๆธฒๆŸ“่ฟ‡็จ‹ไธญ่ฟ›่กŒDebuggingใ€‚ๅฏไปฅ้€š่ฟ‡่ฟ™ไธชๅŠŸ่ƒฝ๏ผŒๅพˆๅฎนๆ˜“ๅœฐ็œ‹ๅˆฐObject็š„ๆธฒๆŸ“่ฟ‡็จ‹ๅ’Œๆ‰นๅค„็†ๆƒ…ๅ†ตใ€‚ ์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : http://docs.unity3d.com/Manual/FrameDebugger.htmlไฝ†ๅฏๆƒœ็š„ๆ˜ฏ๏ผŒUnity3D็š„Frame Debuggerๆ— ๆณ•็œ‹ๅˆฐๆฏไธ€ไธชdraw call(dp)็š„GPU ๆ€ง่ƒฝ็š„่ฏฆ็ป†ๆƒ…ๅ†ตใ€‚ๅฏๅนธ่ฟ็š„ๆ˜ฏ๏ผŒๆฏไธ€ไธชChipset Vendor้ƒฝๆไพ›ไบ†ไธ€ไธชๅฏไปฅ่ฏฆ็ป†ๅˆ†ๆžๆธฒๆŸ“่ฟ‡็จ‹็š„ๅทฅๅ…ทใ€‚Adreno่Šฏ็‰‡้€š่ฟ‡Adrenoๅˆ†ๆžๅ™จ๏ผˆProfiler๏ผ‰๏ผŒMali่Šฏ็‰‡้€š่ฟ‡Maliๅˆ†ๆžๅ™จ๏ผˆProfiler๏ผ‰ๆˆ–DS-5๏ผŒIphone้€š่ฟ‡XCODE่ฟ›่กŒๅˆ†ๆžใ€‚ ์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : http://www.slideshare.net/ozlael/graphics-opt-ndcๅคงๆฆ‚ๅชๆœ‰ไธ€ไธช้—ฎ้ข˜ใ€‚ๅฐฝ็ฎกไฝฟ็”จTBRๆ–นๅผ็š„่Šฏ็‰‡ๆฏไธ€ไธชcall้ƒฝๅฏไปฅ็กฎ่ฎคไธ€ๆฌกๅ…ถๆ€ง่ƒฝ๏ผˆPerformance๏ผ‰๏ผŒไฝ†ๆ˜ฏๅนถไธ่ƒฝ็›ด่ง‚็š„็œ‹ๅˆฐๆฏไธ€ไธชcall็š„ๆ€ง่ƒฝใ€‚ๅƒไน‹ๅ‰่ฏด็š„้‚ฃๆ ท๏ผŒ่ฟ›่กŒdraw call(dp)ๆ—ถ๏ผŒไธๆ˜ฏ็ซ‹ๅˆปๅค„็†Pixel Shader๏ผŒ่€Œๆ˜ฏไฝฟ็”จ็•™ๅญ˜็š„Parameter Buffer็ป“ๆžœใ€‚ๅ› ๆญค๏ผŒๅœจๆ‰€ๆœ‰draw call(dp)็ป“ๆŸไน‹ๅŽ๏ผŒๆ‰็œŸๆญฃๅœฐๅผ€ๅง‹ๆธฒๆŸ“่ฟ‡็จ‹๏ผŒๆ‰€ไปฅๅนถไธ่ƒฝ็œ‹ๅˆฐๆฏไธ€ไธชcall็š„ๅฎž้™…ๆ€ง่ƒฝใ€‚ๆ‰€ไปฅๅœจX-codeๅˆ†ๆžIphone็š„ๆธฒๆŸ“่ฟ‡็จ‹ๆ—ถ๏ผŒๆ€ง่ƒฝ้กนไผšๆ˜พ็คบๆ•ฐๅญ—0ใ€‚ๆœ‰ๆ—ถๅฏ่ƒฝไนŸไผšๅ‡บ็Žฐไธๆ˜ฏ0็š„ๆ•ฐๅญ—๏ผŒไฝ†ๅ‡บ็Žฐ็š„ๆ•ฐๅญ—ๅนถไธๅ€ผๅพ—ไฟกไปปใ€‚ๅœจ่ฟ™็งๆƒ…ๅ†ตไธ‹๏ผŒๅช่ƒฝๅˆฉ็”จๅธง็š„ๆ€ง่ƒฝ๏ผˆPerformance๏ผ‰ๆˆ–callๅฝ“ๆ—ถไฝฟ็”จ็š„็บน็†็ญ‰ไฟกๆฏ่ฟ›่กŒๆŽจๆต‹ใ€‚ๅƒไธŠ้ขๆๅˆฐ่ฟ‡็š„ไธ€ๆ ท๏ผŒๅ› ๆ€ง่ƒฝ้กนๆ˜พ็คบไธบ0๏ผŒๆ‰€ไปฅIphone็š„ๅˆ†ๆžไผšๆœ‰ไธ€ไบ›ๆฃ˜ๆ‰‹ใ€‚ ็…ง็‰‡ๅ‡บๅค„ : http://www.slideshare.net/ozlael/graphics-opt-ndc ็”ป้ขๅ˜ๅŒ–็އ็”จTBRๆ–นๅผ่ฟ›่กŒๆธฒๆŸ“๏ผŒๆธฒๆŸ“่ฟ‡็จ‹ๅœจ่Šฏ็‰‡ๅ†…็š„tile่ฟ›่กŒ๏ผŒไธไผšๅ ็”จbandwidthใ€‚ไฝ†ๆ˜ฏ๏ผŒๅœจๅ‘ไฝไบŽDRAM็š„frame buffer่พ“ๅ‡บtileๆ˜ฏ๏ผŒไธๅฏ้ฟๅ…ๅœฐ่ฆๅ ็”จbandwidthใ€‚ไธบไบ†่Š‚็บฆ่ฟ™้ƒจๅˆ†bandwidth็š„ๅผ€้”€๏ผŒ Maliๅ…ฌๅธไฝฟ็”จไบ†Transaction EliminationๆŠ€ๆœฏใ€‚ๅฆ‚ๆžœ้‡ๅˆฐๅ’Œไน‹ๅ‰frameๅŠ็”ป้ข็ป“ๆžœไธ€ๆ ท็š„tile๏ผŒไธๅ†ๆ›ดๆ–ฐtile๏ผŒๅพช็Žฏไฝฟ็”จไปฅๅ‰็š„tileใ€‚่ฟ™ๆ ทๅฏไปฅๅ‡ๅฐ‘่Šฏ็‰‡ๅ†…ๅญ˜ๅคๅˆถๅˆฐ็ณป็ปŸๅ†…ๅญ˜็š„้‡ใ€‚ไธ‹ๅ›พไธญ็”จ็ปฟ่‰ฒๆ ‡่ฏ†็š„ๅญ—ๅฐฑๆ˜ฏๅพช็Žฏไฝฟ็”จ็š„่ฟ™ไธ€้ƒจๅˆ†ใ€‚ ์ด๋ฏธ์ง€ ์ถœ์ฒ˜ : http://community.arm.com/ๆ‰€ไปฅ๏ผŒๅฆ‚ๆžœไฝฟ็”จๅ›บๅฎšๆ‘„ๅƒๆœบ็š„่ฏ๏ผŒๅœจไฝฟ็”จๅคฉ็ฉบ็›’็ญ‰่ƒŒๆ™ฏๆ—ถ๏ผŒๆœ€ๅคง็จ‹ๅบฆๅœฐๅ‡ๅฐ‘ๅ˜ๅŒ–ๆ˜ฏไธ€็งๆฏ”่พƒๅฅฝ็š„ๆ–นๆณ•ใ€‚ๅฎž้™…ไธŠ๏ผŒ่ฟ™็งๆ–นๆณ•ๅœจ3DๆธธๆˆไธŠๅบ”็”จ็š„ๆƒ…ๅ†ตๅนถไธๅคš่ง๏ผŒๆฏ”่พƒๅคšๅบ”็”จไบŽ2Dๆธธๆˆไธญใ€‚

์กฐํšŒ 44ํšŒ๋Œ“๊ธ€ 0๊ฐœ

์ตœ๊ทผ ๊ฒŒ์‹œ๋ฌผ

์ „์ฒด ๋ณด๊ธฐ

ยฉ 2014 by LEEGOONZ HOME.