Latest post of the previous page:
Откуда 24?DrKnS wrote:в 1.7 цвет занимал 1 байт, сейчас - 24
#{ ForeGround, BackGround } * #{ Red, Green, Blue, Alpha } * 1 byte/channel == 8
Latest post of the previous page:
Откуда 24?DrKnS wrote:в 1.7 цвет занимал 1 байт, сейчас - 24
#{ ForeGround, BackGround } * #{ Red, Green, Blue, Alpha } * 1 byte/channel == 8
Увеличение в 256 раз - да уж, внезапно Полагаю, это могут быть какие-то таблицы атрибутов символов, так? Их много где нужно больше одной? И, если такие таблицы часто используются , то может завести одну какую-то общую с основными возможными атрибутами, и предоставлять ее через Far API?DrKnS wrote:Как уже отмечено, юникод. В большинстве мест это означает двукратное увеличение по сравнению с 1.7, в некоторых - внезапно, 256-кратное.
Это копейки - Far же по знакоместам работает, не по пикселям. Ну, настройки на пару килобайт еще выросли может.DrKnS wrote: Поддержка True Color тоже не бесплатна: в 1.7 цвет занимал 1 байт, сейчас - 24.
По поводу размеров бинарников - да, согласен, я погорячился. Хотя тут все же могут быть ситуации, когда это может влиять - детали не очень хорошо помню, так что строго не судите. Если dll-ка загружается не по своему базовому адресу, то она настраивается на другой базовый адрес и часть ее страниц копируется и изменяется. На вскидку я не помню, как много будет модифицироваться, но возможно, что и вся dll-ка. Также, если в разных процессах одна и та же dll-ка не может быть настроена на одни и те же адреса (кто-то другой в соседнем процессе их занял), то в памяти будут две копии кода. Это и время (на настройку dll'ек), и память.DrKnS wrote: Размеры бинарников, в целом, беспокоят очень мало.
Беспокоят производительность и потребляемая память. Если у вас есть предложения по делу (а не просто "я тут заметил, что стало больше чем было") - welcome.
Code: Select all
Имя DLL Image base Size(bytes)
[b]Не плагины[/b]
lpeg.dll 64480000 32782
lua5.1.dll 6E940000 9216
lua51.dll 66D80000 371275
luafar3.dll 10000000 324096
[b]Плагины из поставки Far[/b]
Align.dll 10000000 11264
7z.dll 10000000 941568
arclite.dll 64000000 686080
AutoWrap.dll 10000000 10752
Brackets.dll 10000000 50176
Compare.dll 10000000 16896
ConEmu.dll 10000000 289112
DrawLine.dll 10000000 7680
EditCase.dll 10000000 37888
EMenu.dll 10000000 69120
FARCmds.dll 10000000 27136
colorer.dll 10000000 1906K
FileCase.dll 10000000 12800
HlfViewer.dll 10000000 14848
LuaMacro.dll 10000000 39936
NetBox.dll 10000000 2528K
Network.dll 10000000 34304
Proclist.dll 10000000 110592
SameFolder.dll 10000000 9728
TmpPanel.dll 10000000 30720
[b]Прочие плагины[/b]
ImpExW.dll 10000000 167936
Такие адреса надо оборачивать вMarty wrote:Назначение базового адреса DLL - http://msdn.microsoft.com/ru-ru/library ... s.90).aspx
[url]
: В каком SP для XP включили поддержку ASLR?Maximus5 wrote:Не нужно путать слонов с бегемотами. Все dll собранные в 10000000 имеют DYNAMIC_BASE.
Под рукой нет, и думаю, что поставить студию, или SDK, где он есть, не получится в ближайшее время.Maximus5 wrote:Почему бы вам не взять rebase в руки и потестить полчаса с перекурами?
В понедельник на работе попробую. У него зависимостей нет никаких, запустится?Dzirt2005 wrote:На, тестируй. Других отмазок нет?Marty wrote:Под рукой нет
Dependency Walker.Marty wrote:В понедельник на работе попробую. У него зависимостей нет никаких, запустится?
Кстати, немного оффтоп, но хочу спросить - это ты вроде автор ConEmu?Maximus5 wrote:Почему бы вам не взять rebase в руки и потестить полчаса с перекурами?