ОБСУЖДЕНИЕ

Чтение Char из бинарного файла по смещению

3 ответов 5,6 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
Задача:

Используя MFC, вывести на экран таблицу строк.

Что имеем:

Есть два бинарных файла. В первом массив int, во втором массив char, разделенный "\0", при этом кодировка UTF-8. Int-ы показывают смещение, от начала второго файла, первого символа в строке.

Как реализовал я:

1) Читаю первый файл в массив int
2) Читаю второй файл в массив char
3) В цикле заполняю структуру GV_ITEM (для вывода на экран использую CGridCtrl)
4) Перевожу кодировку на "человеческий" (MultibyteToWidechar)
5) Вывожу на экран

Проблема:

При размере файла с массивом char 40 МБ и выше(а таких большенство) вывод на экран сильно тормозит. Около 2-3 минут загрузка происходит.

Вопрос:

Как ускорить вывод на экран?

Мои варианты:

1) Разбить на отдельные процессы
а. пункты 3 и 4
б. пункт 5

2) Сделать свой класс(наследник от CGridCtrl) и читать сразу в GV_ITEM

Заранее спасибо за ответы, извинте если сумбурно...
 
CGridCtrl - это с Codeproject который? Там вроде есть режим
VirtualMode когда GV_ITEM создавать не надо, а данные отдаются прямо
во время отрисовки. Должно помочь.
 
Учитывая что врядли 40МБ+ у вас сразу на экран влазит, стоит грузить часть, остальное подгружать по необходимости\в отдельном потоке