Author |
Message |
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
Решил написать что нить под сабж. Вроде заинитил окошко, туда сюда, ну чего то я не пойму как точки присовать. Написал такую процедуру:
Но при её вызовове вот так | | | | Code: SDL_LockSurface(screen); while x < 640 do begin for y:=0 to 320 do begin draw_pixel(screen,x,y,round(y/2),round(y/2),round(x/3)); end; inc(x); end; //SDL_LockSurface(screen); //draw_pixel(screen,240,320,254,253,252); SDL_UnlockSurface(screen); SDL_Flip(screen); | | | | |
Заполняется не всё окно, получается вот так:
_________________
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
|
05 Oct 2008 11:22 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
Да сишный код рисования точки выглядил так:
Может я где с математиекой накосячил?
В 2002 году cr0acker писал с использованием SDL на сях.
_________________
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
|
05 Oct 2008 12:45 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
Умные люди подсказали сделать так:
Ну результат пока всё равно не ахти:
_________________
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
|
05 Oct 2008 13:18 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22422 Location: Silicon Valley
|
Смотри мою либу UniGraf - там я не флипаю, а делаю SDL_UpdateRect
|
05 Oct 2008 14:49 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
_________________
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
|
05 Oct 2008 22:52 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
На самом деле всё правильно, просто я оконшок на 480 сделал, а рисую до 320:)
_________________
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
|
05 Oct 2008 22:56 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
А вот чего я чего получилось из этого:
_________________
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
|
27 Nov 2008 14:29 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
Правда пока медленно надо переделать вывод точек, или таблицу для плазмы предсчетат, а то 48% цпу жрёт.
_________________
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
|
27 Nov 2008 14:30 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
Сделал прерасчет таблиц, пока медленновато. Стало давать ФПС 60, правда на видео не видно xvidcap грузит машину и всё начинает тормозить.
Для просмотра видео нажать на картинку.
_________________
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
|
28 Nov 2008 13:00 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
_________________
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
|
05 Dec 2008 12:16 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
_________________
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
|
05 Dec 2008 12:19 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22422 Location: Silicon Valley
|
1) fi*j посчитать один раз, а не 4
2) не считать Coeff2*Sin(Coeff3*fi*i) внутри цикла по j - оно всё равно меняться не будет, если i не меняется
3) развернуть массив цветов в одномерный и бежать по нему инкрементами
4) перейти на табличный синус и целочисленную арифметику
|
05 Dec 2008 15:47 |
|
|
cr0acker
God
Joined: 03 Feb 2003 13:53 Posts: 1078
|
Блин 21 век, 64х ядерные проци и табличный синус с целочисленной арифметикой:) Кстати почему ондомерный будет быстрее? Компилятор жепоидеедолжен это сам делать, попробую завтра.
_________________
Формат конференции позволяет сказать то что я действительно думаю о проблемах...
(с) Путин
|
05 Dec 2008 17:18 |
|
|
Shaos
Admin
Joined: 08 Jan 2003 23:22 Posts: 22422 Location: Silicon Valley
|
но тем не менее будет быстрее ну это я на последок оставил - если ещё захочется ускорить
компилятор будет индексировать через умножение - а лишнее умножение тебе ненадо (тем более два ; )
|
05 Dec 2008 18:05 |
|
|
HardWareMan
Banned
Joined: 20 Mar 2005 13:41 Posts: 2141 Location: От туда
|
Ну можно же посчитать с хорошей точностью, с памятью то проблем не будет, ведь так? А выборка числа (пусть и вещественного) будет все быстрее, чем его посчитает FPU, который еще надо инициализировать.
У него он вообще трехмерный. RGB собрать в один dword, буфер 640х480 объединить в один и идти, как сказал Shaos, инкрементом. А вот что означает X я не понял.
PS Если работать напрямую с фреймбуфером видеокарты в VESA режиме, то объединение буфера более чем логично. Не знаю за оконную систему Х-ов.
|
06 Dec 2008 00:04 |
|
|