|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
13.04.2017, 18:32 | #1 |
Регистрация: 13.04.2017
Сообщений: 3
|
Теоретический вопрос начинающего о потоках
Вот например я двумерным циклом зарисовываю каждый пиксель (для теории):
Код:
Я решил ускорить этот процесс, покопав я узнал про потоки. И подумал каждый внутренний цикл просто отдавать новому потоку Код:
|
13.04.2017, 18:41 | #2 |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
И чем это поможет?
Так не получится, в потоки надо выносить долгие вычисления и т.п., а не работу с UI.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. |
13.04.2017, 20:58 | #3 |
Пользователь
Регистрация: 11.04.2017
Сообщений: 64
|
Ну почему же только вычисления? Моя первая змейка вполне спокойно работала и рисовалась в отдельном потоке. Правда я рисовал не в винформах, а в консольке. Но тут нужно понять работу с потоками и почему к одному объекту нельзя одновременно достучаться с разных потоков. А автор немного плавает в теории, вот и все.
|
14.04.2017, 08:35 | #4 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
в консоли толком и нет UI.
по хорошему есть UI-поток отвечающий только за интерфейс, и есть вычисляющие. АНдроид например в этом плане строже, там есть NetworkOnMainThreadException =D Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
14.04.2017, 10:04 | #5 |
Пользователь
Регистрация: 11.04.2017
Сообщений: 64
|
Ну это да, UI поток он единственный, и врезаться в него тоже никому не советую. Если так хочется закрасить поверхность - то не нужно идти в лоб, а крась бОльшими полигонами - будет быстрее )
|
16.04.2017, 21:51 | #7 | |
Пользователь
Регистрация: 16.04.2017
Сообщений: 94
|
Цитата:
Это раз. Почитайте о директиве using. Два. Изображение не нужно зарисовывать на экране - нужно делать новое изображение в памяти, а потом при обновлении кадра отдавать новое изображение. Три. Если на формах рисуете, поставьте в свойствах формы DoubleBuffered = true; Думаю, потоки здесь не причем. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Теоретический вопрос по OpenGL | f.hump | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 2 | 21.01.2013 22:06 |
Чисто теоретический вопрос | strannick | Microsoft Office Excel | 2 | 23.12.2012 13:24 |
Чисто теоретический вопрос | strannick | Microsoft Office Excel | 5 | 17.11.2012 13:19 |
Теоретический вопрос по потокам | -Jack- | Общие вопросы Delphi | 6 | 04.11.2012 11:50 |
Теоретический Вопрос о поиске | diliana | Помощь студентам | 16 | 13.06.2009 03:19 |