以下の内容はhttps://baba-s.hatenablog.com/entry/2022/08/29/103639より取得しました。


【Unity】Texture の塗りつぶし(SetPixel)を高速化する方法

概要

for ( var x = 0; x < m_size.x; x++ )
{
    for ( var y = 0; y < m_size.y; y++ )
    {
        m_texture.SetPixel( x, y, Color.clear );
    }
}

m_texture.Apply();

上記のコードだと 0.5 秒かかるところが

var pixels = m_texture.GetPixels32();

for ( var i = 0; i < pixels.Length; i++ )
{
    pixels[ i ] = Color.clear;
}

m_texture.SetPixels32( pixels );
m_texture.Apply();

上記のコードだと 0.12 秒に改善された

var pixelData = m_texture.GetPixelData<Color32>( 0 );

for ( var i = 0; i < pixelData.Length; i++ )
{
    pixelData[ i ] = new Color32( 0, 0, 0, 0 );
}

m_texture.Apply();

さらに上記のコードだと 0.02 秒に改善された

参考サイト様




以上の内容はhttps://baba-s.hatenablog.com/entry/2022/08/29/103639より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14