Если я понимаю, что вы спрашиваете, вы хотите обновлять только НЕКОТОРЫЕ блоки / плитки на карте каждый раз? Это невозможно, если вы не разделите текстуру карты на части, что может создать больше накладных расходов, чем вы сохраняете. Вы не можете SDL_RenderClear только часть текстуры без некоторых потенциально нежелательных побочных эффектов.
Я бы разбил текстуру карты на слои (map_floors, map_walls и т. Д.) И кэшировал каждый слой. Таким образом, вместо вызова GraphicsDrawer :: drawMap () для каждого кадра, вызывайте его только для кадров, в которых изменяется слой. Поэтому, если NPC перемещается, перерисовывайте только слой, на котором есть NPC. Вы по-прежнему вызываете SDL_RenderCopy () каждый кадр, но текстуру для каждого слоя не нужно восстанавливать каждый кадр.
Необходимо использовать следующую командную строку для подписания:
al /out:MyAssembly.dll MyModule.netmodule /keyfile:sgKey.snk
Если требуется узнать больше, посетите: http://msdn.microsoft.com/en-us/library/xc31ft41.aspx