forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Скорость Flip (http://forum.boolean.name/showthread.php?t=7644)

impersonalis 17.01.2009 03:02

Скорость Flip
 
В общем, за счёт какой составлюящей (железо) происходит наибольшее замедление при выводе (drawimage,flip; причём по замерам флип в N раз тормознее остальных составляющих).
Или нельзя однозначно ответить? Сразу скажу камень 1.7 зато видео и объём памяти - отсавляют желать лучшего. На домашнем компе - задержка минимально фиксируемео число - 1мсек, на целвом - 5 и выше.

HolyDel 17.01.2009 03:07

Ответ: Скорость Flip
 
в фуллскрине flip должен быть по идее почти бесплатным, так как это тупое переключение. данные с задика в котором мы рисовали НЕ копируются. просто активной областью начинает считаться backbuffer, т.е. с него данные отриовываются на собственно мониторе.
В оконном режиме данные копируются, значит будет "тормознее" ("тормоза" прямо пропорциональны разрешению).
больше ничего сказать не могу. Сибли мог намутить чего угодно в своем флипе.

impersonalis 17.01.2009 03:09

Ответ: Скорость Flip
 
тестил в фулскрине 5мсек - это максимум (т.е. средний там тоже где-то у 1 мсек).

SBJoker 17.01.2009 03:10

Ответ: Скорость Flip
 
Если Flip 1 стоит то флип тормазит ровно на то время которое требуется на синхронизацию с монитором. Т.е. примерно равна 1000/(частота верт. развертки)/2= XX мс

impersonalis 17.01.2009 03:12

Ответ: Скорость Flip
 
флип 0, т.к. есть стабилизатор с ограничением фпс, уравновешивающий кол-во вызово редрава на секунду, что позволяет исключить вертикальную асинхронизацию.

SBJoker 17.01.2009 03:27

Ответ: Скорость Flip
 
Millisecs не показатель на малых задержках, посути это переменная которую приложение постоянно опрашивает у винды. К тому же во время измерения задержки входит нетолько время исполнения ограниченого кода но и время выполнения системных задач и других процессов, а так же возможно время прерывания нашего процесса виндой для выделения процессорного времени другим процессам. Потому задержка всегда прыгает причём ощутимо в приделах 0 - 5 мс.

У меня даже бывали случаи получения отрицательных задержек, ну это видимо от процессора зависит. (тяжело поверить но бывает)

Кстати во время флип возможно нетолько буферы сменяют, но и что-то ещё возможно делается. В 2д режиме блитз может рисовать в оперативу а по флип посылать в видяху... это самая древняя часть так что вполне возможно.

HolyDel 17.01.2009 03:36

Ответ: Скорость Flip
 
кстати да.
можно использовать джимоновский таймер:
http://forum.boolean.name/showthread...ght=jMillisecs

impersonalis 17.01.2009 03:48

Ответ: Скорость Flip
 
Ну задеркжи не такие маленькие. Сравнение millisecs с джимоновскими микросекундами показали, что нелинейность в рамках дискретизации, во всяком случае явных артефактов вроде как не наблюдалось. Наверно целевому процессору эти задержки маленькими некажутцо.
Хотя миллисекс несколькораз вызвается на каждой итерации логики (с максимальной то бишь частотой), причём значения функции в целом влияют на визуализацю, кторая опять-таки в рамках допустимого.
Цитата:

можно использовать джимоновский таймер:
http://forum.boolean.name/showthread...ght=jMillisecs
а думаешь - для чего я просил Джимона новую версию сделать? ;)
Да и вообще - вопрос не про адекватность функции, а про то "что затормаживает работу FLIP".

impersonalis 17.01.2009 03:53

Ответ: Скорость Flip
 
просто из ЗБЧ не может тест всё время генерить для флип-а, неправильно большее время, а для логики - неправильно-меньшее.
Очвеидно, что вывод щанимает времени больше - вот и вопрос как его неалогоритмиечски сократить

tormoz 17.01.2009 06:27

Ответ: Скорость Flip
 
Цитата:

Сообщение от impersonalis (Сообщение 94979)
вот и вопрос как его неалогоритмиечски сократить

Убрать всю 2д графику и текст (блитцевскую)
Даже одна строчка текста "съедает" до 1 мс флипа
почему - не знаю, нужно копать исходники блитца
Воспользоваться фастимажем и фасттекстом Михаила

jimon 17.01.2009 10:24

Ответ: Скорость Flip
 
думаю просто рисуемые 2д данные не кешируются, те пересоздаются каждый раз

impersonalis 17.01.2009 19:13

Ответ: Скорость Flip
 
там всего 3(три) картинки(то бишь кеш), но с выводом пиксель-в-пиксель. Фастимаж:
1) не позволяет задать маску для созданных в памяти картинок (текстур)
2) для пиксел-в-пиксель вывода требует верхнего окргления до x^2 что увеличвает фулскрин картинку почти в 2 раза.

1+2 по результатам теста - код загеморилсо, маска пропала, произовдительность - таже

ABTOMAT 17.01.2009 20:00

Ответ: Скорость Flip
 
1. Юзай альфу пикселя.
2. И всё равно по замерам это быстрее в несколько раз. Потому что отрисовывается эта фуллскрин-картинка железкой. " увеличвает фулскрин картинку почти в 2 раза." далеко не во всех случаях. Например, при 1024*768 получится 1024*1024, это примерно 1+1/3 раза.

impersonalis 17.01.2009 20:15

Ответ: Скорость Flip
 
1)http://forum.boolean.name/showthread.php?t=7503
2)800х600 -> 1024х1024
3)
Цитата:

по результатам теста - ... произовдительность - таже
2all если вы не можете ответить на вопрос - не уводите его в сторону.

impersonalis 17.01.2009 20:17

Ответ: Скорость Flip
 
Цитата:

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


Часовой пояс GMT +4, время: 06:28.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot