User Tag List

Страница 2 из 13 ПерваяПервая 123456 ... ПоследняяПоследняя
Показано с 11 по 20 из 124

Тема: Как организовать память для текстового редактора?

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    Тормоза будут не такие и больше.

    Переместить 36 Кб текста в памяти, а это как раз оперативка Специалиста, будет быстрее, чем перерисовать экран размером в 12 Кб шрифтом в 6 пикселей. То есть шрифтнадо двигать и AND+OR накладывать на экран.
    эт понятно
    в таком случае можно выводить построчно, и проверять, не надо ли еще скролить (и если надо - не обновлять что осталось)
    скорость реакции будет заметно выше, а "временный бред" на экране - терпимо

    так было на Корвете в ChiWorker сделано.
    Последний раз редактировалось esl; 28.03.2013 в 16:43.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    05.03.2013
    Адрес
    г. Канев, Украина
    Сообщений
    1,596
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    4
    Поблагодарили
    3 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А если работать с буффером? и обрабатывать блоки при выходе курсора за его пределы?

  4. #3

    Регистрация
    11.04.2006
    Адрес
    Novosibirsk
    Сообщений
    971
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    11
    Поблагодарили
    9 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Подавляющее количество (если не все) текстовых редакторов устроены так как написал esl во втором посте (когда текст расположен вначале и конце памяти а в месте курсора - буфер).

    Только процедуру печати экрана целиком нужно делать тоже "двухстороннюю", когда выше курсора текстпечатается снизу вверх (к началу экрана) а ниже курсора - сверху вниз.

    Реализация такого редактора получается тривиальной, скорость работы чумовая независимо от размера текста.

    При этом больше страницы текста за раз приходится двигать только в случае навигации в начало и конец документа.

  5. #4

    Регистрация
    12.07.2006
    Адрес
    г. Киев, Украина
    Сообщений
    2,147
    Спасибо Благодарностей отдано 
    25
    Спасибо Благодарностей получено 
    95
    Поблагодарили
    82 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Даже не знаю как назвать структуру данных которая предложена(массив с элементами разной длинны и маркером в конце + перемещаемый свободный буфер в средине этого "типо-массива"). Самое интересное что сейчас такие задачи пишутся с какими нибудь двух-связными списками которые сами по себе будут занимать по 6 байт на каждую строку текста + еще при выделении памяти в самой OS будет хранится куча инфы про выделенные блоки (КОРОЧЕ - МРАКОБЕСИЕ)

    Может есть еще у этого алгоритма "продолжение" про то как его расширить для редактирования файлов большего размера чем свободное пространство?

  6. #5

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение

    Может есть еще у этого алгоритма "продолжение" про то как его расширить для редактирования файлов большего размера чем свободное пространство?
    Связные списки всякие - слишком расточительно для ограниченной памяти, там каждый байт на учёт

    Я ж писал что микро мир на корвете/ямахе легко работал с файлами больше свободной памяти
    Создавал `своп` и работал
    Неудобства были ТОЛЬКО при переходах в начало/конец текста
    Мог подчитать блок с диска при выходе за границы экрана иногда
    Запись файла при выходе - это конечно уже некий процесс, но он не частый, может и потерпеть

  7. #6

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,910
    Спасибо Благодарностей отдано 
    352
    Спасибо Благодарностей получено 
    322
    Поблагодарили
    246 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от bigral Посмотреть сообщение
    Может есть еще у этого алгоритма "продолжение" про то как его расширить для редактирования файлов большего размера чем свободное пространство?
    Для чего?
    Зачем на машине с 16к свободной памяти редактировать тексты больше чем 16 к?
    С уважением,
    Jerri / Red Triangle.

  8. #7

    Регистрация
    16.09.2009
    Адрес
    г. Харьков
    Сообщений
    1,466
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    12 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    Для чего?
    Зачем на машине с 16к свободной памяти редактировать тексты больше чем 16 к?
    в случае если редактор ТОЛЬКО для конкретной машины/случая - може и не стоит
    но MIM был (и использовался для работы с БОЛЬШИМИ текстами)
    на Ямахе/Корвете/УКНЦ/СМхх
    у нас преподы набирали методички в нем, и очень ценили что есть ОДИН файл а не кучка.

    хотя это вопрос привычки конечно

    в том-же мим очень не привычная для большинства схема копирования/вставки, отдельные буфера для "символов"/"строк"/"кадратных блоков"

    при этом уже тогда (1988 как минимум)
    было Undo/Redo
    Квадратные блоки
    "бесконечный" текст
    "псевдо директории"

  9. #8

    Регистрация
    01.12.2010
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,657
    Записей в дневнике
    21
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    3
    Поблагодарили
    2 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Просто загружаем файл кусками по 16 Кб (из расчета, что у нас 32 Кб памяти под текст). Экран при этом занимать больше чем 16 Кб не должен. Сложность лишь при сохранении, придется весь файл сдвигать, если редактируемый кусок изменил размер
    Последний раз редактировалось vinxru; 02.04.2013 в 09:44.

  10. #9

    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,286
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    39 сообщений
    Mentioned
    8 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А какая операция в типичном текстовом редакторе выполняется чаще- навигация по тексту или редактирование в начале большого текста?

  11. #10

    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,910
    Спасибо Благодарностей отдано 
    352
    Спасибо Благодарностей получено 
    322
    Поблагодарили
    246 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vitamin, Редактирование в произвольном месте. не?
    С уважением,
    Jerri / Red Triangle.

Страница 2 из 13 ПерваяПервая 123456 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Алгоритм текстового Quest'a
    от ALKO в разделе Программирование
    Ответов: 11
    Последнее: 23.12.2010, 00:47
  2. Как проще код из текстового файла -> Alasm-файл?
    от TomCaT в разделе Программирование
    Ответов: 10
    Последнее: 28.05.2010, 16:53
  3. Адаптация текстового редактора
    от Raydac в разделе Софт
    Ответов: 1
    Последнее: 09.06.2008, 14:27
  4. Интересная идея текстового интерфейса в играх
    от Black_Cat в разделе Программирование
    Ответов: 3
    Последнее: 18.11.2006, 15:22
  5. Проект муз. редактора для AY
    от Bulba в разделе Музыка
    Ответов: 36
    Последнее: 09.09.2005, 20:32

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •