Важная информация

User Tag List

Страница 4 из 13 ПерваяПервая 12345678 ... ПоследняяПоследняя
Показано с 31 по 40 из 124

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

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

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    А разумно подходить не пробовал к вопросу? Или только как в рекламе "опустим газету в серную кислоту, а журнал в дистиллированную воду".

    Назови хоть один plain текстовый редактор, в котором используется фрагментарное хранение текста. Желательно на тормозном Java/.NET
    Все. Текст хранится в виде массива/списка строк.

    ---------- Post added at 11:14 ---------- Previous post was at 11:12 ----------

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Твоя схема тоже сложнее, нежели редактирование сплошного куска. Всему своя цена. Разве на 8080 нет прерываний?
    На Специалисте, 86РК, Апогее, Микроше, Львове ПК01, Искре 1080 нет... Мало где есть, потому что контроллер прерываний - это отдельная дорогая микросхема, на нем экономили.

    ---------- Post added at 11:17 ---------- Previous post was at 11:14 ----------

    Цитата Сообщение от Vitamin Посмотреть сообщение
    А кто сказал, что необходимо блокировать все на время переброски данных? Что мешает заполнить буфер редактирования следующей строкой и дать пользователю его дальше редактировать?
    1) Длина строки ограничена размером буфера редактирования. Размер буфера редактирования ограничивает размер текста.

    В обсуждаемом способе, буфер редактирования не требуется.

    2) При вставке буфера редактирования в текст потребуется сдвигать весь текст. А это может занять очень существенное время, пользователь продолжит печатать после нажатия ENTER и редактор пропустит первые символы в строке.

    В обсуждаемом способе, при нажатии Enter тормозов не будет вообще. Это лишь запись в память одного байта. Да перерисовка экрана, которую можно прервать при нажатии клавиши.

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

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

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    На Специалисте, 86РК, Апогее, Микроше, Львове ПК01, Искре 1080 нет... Мало где есть, потому что контроллер прерываний - это отдельная дорогая микросхема, на нем экономили.
    справедливости ради, у Вектор-06ц нет контроллера но есть прерывания
    как и положено одно VBL -> RST7
    контроллер нужен если прерываний >1
    или нужны всякие фокусы с ними, типа приоритетов

  4. #33
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,258
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    Все. Текст хранится в виде массива/списка строк.
    BCE - это типа Binary Container Editor чтоли? Ссылочку на исходник можно? :lol:

    Цитата Сообщение от vinxru Посмотреть сообщение
    В обсуждаемом способе, при нажатии Enter тормозов не будет вообще. Это лишь запись в память одного байта. Да перерисовка экрана, которую можно прервать при нажатии клавиши.
    Зато будут постоянные тормоза при нажатии вверх-вниз (а это таки делается чаще, чем нажатие ентера). И чем длиннее строки текста, тем больше тормоза.

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

    По умолчанию

    Цитата Сообщение от ZEK Посмотреть сообщение
    наоборот в .net/java память в куче выделяется мгновенно, там же сборщик дефрагментирует
    Это кажется. Свободная память описана в виде дерева. Поиск блока подходящего размера в дереве хоть и быстр log(N), но когда программа выделяет память тысячами блоков в секунду, все тормозит. Кеш процессора засоряется и общая производительность падает.

    К тому же, есть проблемы многопоточности. Приходтистя строить дерево свободных блоков для каждого потока и иногда их балансировать.

    Забегаем в другу тему. Но даже MS это сообразила и в C# уже можно кое-где создавать объекты на стеке. Вот там действительно выделение и освобождение памяти бесплатно. C++ возвращается

    ---------- Post added at 11:26 ---------- Previous post was at 11:24 ----------

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Зато будут постоянные тормоза при нажатии вверх-вниз (а это таки делается чаще, чем нажатие ентера). И чем длиннее строки текста, тем больше тормоза.
    Не будет. При средней длине строки в 64 байта, это копирование 65 байт в ОЗУ.

    Это выполнится быстрее, чем функция опроса клавиатуры, а тем более прокрутки экрана. На их фоне это вообще незаметно (моментально) будет.

    ---------- Post added at 11:27 ---------- Previous post was at 11:26 ----------

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Ссылочку на исходник можно? :lol:
    Я не собираюсь работать на тебя бесплатно Ты опять споришь о таких банальных вещах, что я подозреваю тебя в троллинге.

    ---------- Post added at 11:35 ---------- Previous post was at 11:27 ----------

    Цитата Сообщение от esl Посмотреть сообщение
    справедливости ради, у Вектор-06ц нет контроллера но есть прерывания
    как и положено одно VBL -> RST7
    контроллер нужен если прерываний >1
    или нужны всякие фокусы с ними, типа приоритетов
    Ага. На микросхемах выставляющих код команды RST7 в ответ на ответ процессора на прерывание то же экономили.

    Что в Intel сразу не доперли сделать вывод у процессора для генерации определенного прерывания (Хотя бы NMI или IRQ0) прямо на процессоре, непонятно.
    Последний раз редактировалось vinxru; 02.04.2013 в 12:52.

  6. #35
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,258
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    Не будет. При средней длине строки в 64 байта, это копирование 65 байт в ОЗУ.

    Это выполнится быстрее, чем функция опроса клавиатуры, а тем более прокрутки экрана. На их фоне это вообще незаметно (моментально) будет.
    Что быстрее делается- поиск символа в ближайших 65 байтах или переброс этих самых 65 байт? Проанализируй, что чаще выполняется в текстовых редакторах- перемещение между строками или непосредственно редактирование. Будешь удивлен.

    Цитата Сообщение от vinxru Посмотреть сообщение
    Я не собираюсь работать на тебя бесплатно Ты опять споришь о таких банальных вещах, что я подозреваю тебя в троллинге.
    А я тебя- в демагогии ("это всем известно", но никаких доказательств) и трепачестве. Сделал заявление- будь готов подтвердить. Истинность уже не так важна.

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

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    А я тебя- в демагогии ("это всем известно", но никаких доказательств) и трепачестве. Сделал заявление- будь готов подтвердить. Истинность уже не так важна.
    Я не один день потратил на доказательства тебе, бессмысленно, надоело. И никаких благодарностей.

    Собственно мне благодарности не нужны, но они влияют на приоритеты. Лучше я потрачу время на помощью человеку, которому это действительно нужно.

    И сейчас я писал не тебе, а людям, которые могут случайно прочитать этот сырбор. Что бы они поняли шикарность этой задумки.

    ---------- Post added at 11:47 ---------- Previous post was at 11:44 ----------

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Что быстрее делается- поиск символа в ближайших 65 байтах или переброс этих самых 65 байт? Проанализируй, что чаще выполняется в текстовых редакторах- перемещение между строками или непосредственно редактирование. Будешь удивлен.
    Не буду удивлен.

    В этом способе есть незаметные для пользователя тормоза (копирование 65 байт) при перемещении курсора. При перемещении в начало/конец текста надо будет скопировать 36 Кб, но перерисовка экрана будет происходить дольше. Поэтому даже это не будет заметно.

    Но в твоем способе тормоза будут возникать при любом редактировании строки (копирование ~18 Кб после редактирования любой строки. Надо же вставить буфер в текст.)
    Последний раз редактировалось vinxru; 02.04.2013 в 12:51.

  8. #37
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,258
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    Я не один день потратил на доказательства тебе, бессмысленно, надоело. И никаких благодарностей.
    И что ты доказал? Ни-че-го. "Простейшую" (по твоим словам) задачу не смог решить, одно словоблудие. Хотя гонору было- выше крыши. Потому и трепач.

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

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    И что ты доказал?
    Склероз, да?

  10. #39
    Vitamin C++ Аватар для Vitamin
    Регистрация
    14.01.2005
    Адрес
    Таганрог, Россия
    Сообщений
    4,258
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    84
    Поблагодарили
    36 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от vinxru Посмотреть сообщение
    Что бы они поняли шикарность этой задумки.
    Безусловно, задумка имеет все права на жизнь и даже реализацию. Только это не серебряная пуля.

    ---------- Post added at 12:53 ---------- Previous post was at 12:52 ----------

    Цитата Сообщение от vinxru Посмотреть сообщение
    Склероз, да?
    Да. Не припомню ни одной законченной реализации задачи от тебя. Максимум- перечисление ассемблерных команд для использования.

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

    По умолчанию

    Цитата Сообщение от Vitamin Посмотреть сообщение
    Безусловно, задумка имеет все права на жизнь и даже реализацию. Только это не серебряная пуля.
    Это лучший из обсуждаемых здесь способов, с точки зрения:
    1) Заметных для пользователя тормозов.
    2) Рационального использования ОЗУ.
    3) Простоты алгоритма.

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

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

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

Эту тему просматривают: 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

Ваши права

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