Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2011, 12:37   #1
jetyb
Пользователь
 
Регистрация: 09.11.2010
Сообщений: 22
По умолчанию Быстро записать картинку в файл.

Доброго времени суток!

Есть картинка, мне надо записать всю информацию о ней(цвета всех ее пикселей) в файл. Сама картинка содержит слишком избыточную информацию(в ней предусмотрено 256 х 256 х 256 цветов, мне же реально нужно работать с четырьмя), поэтому работать с ней намного затратнее.

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

Проблема во времени выполнения программы. Одну картинку программа записывает в файл за две секунды. Запись видео в файл затянется на долгие часы... и это при том что еще вероятно придется менять определения групп цветов и перезаписывать видео заново.

Кто-нибудь знает как можно уменьшить время выполнения программы?
Даже небольшое улучшение быстродействия даст здесь выигрыш в целых часах.

Последний раз редактировалось jetyb; 09.04.2011 в 12:39.
jetyb вне форума Ответить с цитированием
Старый 09.04.2011, 15:00   #2
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

пиши не каждый байт, а например кусками по 256 байт (размер подберешь опытным путем) или целой картинкой
soleil@mmc вне форума Ответить с цитированием
Старый 09.04.2011, 22:06   #3
Сtrl
C++
Форумчанин
 
Аватар для Сtrl
 
Регистрация: 27.03.2011
Сообщений: 803
По умолчанию

Цитата:
небольшое улучшение быстродействия
Объявляйте функции по возможности как inline.
Ищете информацию по C++?
cplusplus.com
Сtrl вне форума Ответить с цитированием
Старый 11.04.2011, 11:51   #4
jetyb
Пользователь
 
Регистрация: 09.11.2010
Сообщений: 22
По умолчанию

Благодарю за советы, но они не помогли.
Проблему решил отказом от метода GetPixel и переходом к более быстродействующему.
Производительность увеличилась раз в 30.
jetyb вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как записать картинку в матрицу? 271089 Общие вопросы Delphi 3 21.12.2010 00:32
из Delphi Записать строку в Word полсе чего вставить туда картинку. Maddy Помощь студентам 4 29.01.2010 15:00
Добавит картинку в файл без сохранения в файл Pacan4ik Microsoft Office Excel 3 30.07.2009 13:19
Как записать файл в файл программы? Хамяг Общие вопросы Delphi 2 02.11.2008 16:01
Как уменьшить картинку быстро но без изменения палитры Joker_kpi Общие вопросы Delphi 2 04.06.2007 23:49