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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2011, 12:48   #1
Kolan
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 13
Сообщение GetPixel и SetPixel медленная работа.

Хочу написать игру на C#, полностью сам, так что XNA можеет не советовать. Проблема возникла когда я пытался написать "движок",- то есть класс который будет заниматся отрисовкой мира, как в Sega играх чтоб при подходе к краю карта началась смещятся сторону. Есть матрица цветов, Color [1500,1000] MatrColor, - эта матрица содержит в себе изображение мира, и есть PictureBox с расширением 750*500,- наш экран где происходит отрисовка мира, то есть экран меньше карты в 4 раза. Написал функцию, в которую надо послать координату мира X и Y, а он должен отобразить на PictureBox картинку, прямоугольную область из матрицы мира верхний левый угол X и Y, а нижний правый X+750 Y+500. Отрисовка на PictureBox происходит за счет функии SetPixel(i,j,MatrColor[x+i,y+j]), где i j это циклы от 0 до 750 и 500 соответственно. Данное преобразование PictureBox. работает правилно, но очень медлеенно. Как можно это исправить?
Kolan вне форума Ответить с цитированием
Старый 18.06.2011, 12:53   #2
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

Гм, ну, процессор как бы не рассчитан на обработку графики Раз Вы отказываетесь от XNA, то, наверное, должны понимать почему он быстрее, нежели Ваша собственная попытка реализовать графическую обработку.
Почитайте эту статью.
Spawn™Production® вне форума Ответить с цитированием
Старый 18.06.2011, 13:07   #3
Kolan
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 13
По умолчанию

Немного смущает что она на английском, ну ничего буду переводить. Ещё слышал про некое небезопасное програмирование (unsafe), там говорилось что работать будет очень быстро, но я не поянл что это.
Kolan вне форума Ответить с цитированием
Старый 18.06.2011, 13:21   #4
Spawn™Production®
Форумчанин
 
Аватар для Spawn™Production®
 
Регистрация: 06.05.2011
Сообщений: 287
По умолчанию

unsafe - возможность работать с указателями, т.е. напрямую обращаться к памяти, где хранятся значения переменных и т.п. Небезопасность в том, что за утечками памяти, её повреждением в результате работы и т.п. следить надо Вам, когда же обычно за этим следит CLR.
Spawn™Production® вне форума Ответить с цитированием
Старый 18.06.2011, 18:30   #5
m0nax
Форумчанин
 
Аватар для m0nax
 
Регистрация: 25.09.2009
Сообщений: 525
По умолчанию

//del
по ссылке второго поста это уже есть

Последний раз редактировалось m0nax; 18.06.2011 в 18:41.
m0nax вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос про getpixel Karyuudo Общие вопросы Delphi 7 16.01.2018 14:11
GetPixel,SetPixel Акоб Общие вопросы C/C++ 8 12.04.2011 16:33
Медленная загрузка изображения из TImageList k1r1ch Общие вопросы Delphi 6 06.09.2010 18:25
медленная работа VBA Jaroslav Microsoft Office Excel 7 13.08.2009 15:41
Очень медленная работа excel 2007 kzld Microsoft Office Excel 3 19.07.2009 22:32