ファイルを実行して、30 ほどの異なるフラグメント タイプを処理しています。そのため、毎回、フラグメントを読み取り、そのタイプ (16 進数) を既知のフラグメントのタイプと比較します。これは速いですか、それとももっと速くできる別の方法はありますか?
ここに私が使用しているコードのサンプルがあります:
// Iterate through the fragments and address them individually
for(int i = 0; i < header.fragmentCount; i++)
{
// Read in memory for the current fragment
memcpy(&frag, (wld + file_pos), sizeof(struct_wld_basic_frag));
// Deal with each frag type
switch(frag.id)
{
// Texture Bitmap Name(s)
case 0x03:
errorLog.OutputSuccess("[%i] 0x03 - Texture Bitmap Name", i);
break;
// Texture Bitmap Info
case 0x04:
errorLog.OutputSuccess("[%i] 0x04 - Texture Bitmap Info", i);
break;
// Texture Bitmap Reference Info
case 0x05:
errorLog.OutputSuccess("[%i] 0x05 - Texture Bitmap Reference Info", i);
break;
// Two-dimensional Object
case 0x06:
errorLog.OutputSuccess("[%i] 0x06 - Two-dimensioanl object", i);
break;
約 30 個のフラグメントを通過し、数千個のフラグメントがある場合、少しチャグすることがあります。このプロセスをスピードアップするにはどうすればよいですか?
ありがとうございました!