Посл.ответ |
Сообщение |
Ранг: 138.7 (ветеран), 135thx Активность: 0.11↘0 Статус: Участник
|
Создано: 26 мая 2013 20:27 · Личное сообщение · #1
Ув. господа, разгорелся спор, редактор (буть то HEX редактор, дизассемблер, блокнот) сразу всю инфу грузит или по размеру видимого окна Если всю инфу, то непонятно как грузятся файлы over 4 гб когда памяти < 2 гб Если грузит кусками по размеру видимого окна, опять не понятно, как при скроле окна всегда показываются нужные данные (скролим то быстро)
| Сообщение посчитали полезным: |
|
 Ранг: 1053.6 (!!!!), 1078thx Активность: 1.06↘0.81 Статус: Участник
|
Создано: 26 мая 2013 20:32 · Личное сообщение · #2
проецирование же вроже есть
| Сообщение посчитали полезным: |
Ранг: 138.7 (ветеран), 135thx Активность: 0.11↘0 Статус: Участник
|
Создано: 26 мая 2013 20:39 · Личное сообщение · #3
reversecodeОднако возник спор, нужны аргументы хоть в ту хоть в другую сторону Лично я склонен что современные редакторы хаваю сразу все, но как?
| Сообщение посчитали полезным: |
 Ранг: 1053.6 (!!!!), 1078thx Активность: 1.06↘0.81 Статус: Участник
|
Создано: 26 мая 2013 20:43 · Личное сообщение · #4
проецирования сразу в память
| Сообщение посчитали полезным: |
Ранг: 138.7 (ветеран), 135thx Активность: 0.11↘0 Статус: Участник
|
Создано: 26 мая 2013 20:52 · Личное сообщение · #5
reversecode пишет: проецирования сразу в память Тут весь и срачь то идет из-за того, что ежели данные(файл) размером > оперативки
| Сообщение посчитали полезным: |
 Ранг: 1053.6 (!!!!), 1078thx Активность: 1.06↘0.81 Статус: Участник
|
Создано: 26 мая 2013 21:07 · Личное сообщение · #6
говорят винда для этого использует своп проецируется в память, используется память а винда дальше на себя берет пейжд фаулты итд, для юзера это не заметно
| Сообщение посчитали полезным: |
Ранг: 138.7 (ветеран), 135thx Активность: 0.11↘0 Статус: Участник
|
Создано: 26 мая 2013 21:24 · Личное сообщение · #7
Но ведь точно же негрузит по размеру окна (как утверждают некоторые товарищи) Кто в теме, отзовитесь, расскажите технику
| Сообщение посчитали полезным: |
 Ранг: 2014.5 (!!!!), 1278thx Активность: 1.34↘0.25 Статус: Модератор retired
|
Создано: 26 мая 2013 21:59 · Личное сообщение · #8
Скорее всего зависит от редактора. Проще отдизасмить предмет спора, и будет понятно. Блокнот, походу, тупо читает весь файл в выделенную память и всё. Более продвинутый софт использует маппинг. Возможно с использованием AWE, тогда файл и больше 2/3/4 гб для х86 можно. А больше рамы файл и так всегда можно, и без маппинга, за счёт своппинга.
| Сообщение посчитали полезным: |
Ранг: 138.7 (ветеран), 135thx Активность: 0.11↘0 Статус: Участник
|
Создано: 26 мая 2013 22:27 · Личное сообщение · #9
Archer пишет: Проще отдизасмить предмет спора, и будет понятно. Да я думал, тут есть кто в теме. Просто в HDasm загружаешь к примеру маленький и боольшой файлы и видна разница это с одной стороны А если оперативы 512 мб а файло > 1 гб тут че как? тоже вроде все грузится
| Сообщение посчитали полезным: |
 Ранг: 2014.5 (!!!!), 1278thx Активность: 1.34↘0.25 Статус: Модератор retired
|
Создано: 26 мая 2013 22:31 · Личное сообщение · #10
Грузиться оно будет всегда. Даже при самом тупом способе с выделением памяти и чтением туда файла. Будет тупо свопаться и тормозить+вертеть хард, но не более того, работать будет. Тут узкое место-2/3/4 Гб для х86. Если мапить и юзать AWE, то и это ограничение можно обойти.
| Сообщение посчитали полезным: |
 Ранг: 136.0 (ветеран), 360thx Активность: 0.27↘0.14 Статус: Участник Qt Developer
|
Создано: 26 мая 2013 23:57 · Личное сообщение · #11
crc1 пишет: Если грузит кусками по размеру видимого окна, опять не понятно, как при скроле окна всегда показываются нужные данные (скролим то быстро Я тоже не понимал, пока не пришлось это реализовывать. Куски по размеру окна читаются из файла быстро и быстрее чем скроллинг.
----- http://ntinfo.biz | Сообщение посчитали полезным: |
Ранг: 419.0 (мудрец), 647thx Активность: 0.46↗0.51 Статус: Участник "Тибериумный реверсинг"
|
Создано: 27 мая 2013 07:28 · Личное сообщение · #12
У Notepad++ к примеру действует ограничение: файлы размером более 300 Мб категорически отказывается грузить. В этом вопросе один нюанс есть: когда выполняется SetDlgItemText(SendMessage, SetWindowText) с уже заданных буфером, винда, по существу, еще раз выделяет память(по своему) и копирует себе строки из буфера(хорошо помню даже, когда с listbox в MS VC++ 6.0 MFC работал, в классе была функция резервирования памяти) И когда мы сами выделяем/проецируем память под буфер и после этого уже используем WinAPI для показа на экран.
| Сообщение посчитали полезным: |