Как заставить блиц работать быстрее?
| |
Squall | Дата: Суббота, 01.05.2010, 17:32 | Сообщение # 1 |
ламер
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
| Мне надо сделать казалось бы простую вещь: вывести на экран пару-тройку сотен линий командой Line за один цикл и перерисовывать их по новой как можно быстрее, опять же тратя по одному циклу. Использование Backbuffer() помогает, но когда линий становится больше ста начинаются "тормоза". Как нормализовать FPS? Или Backbuffer тут не поможет?
Сообщение отредактировал Squall - Суббота, 01.05.2010, 17:33 |
|
| |
Spidy | Дата: Суббота, 01.05.2010, 20:30 | Сообщение # 2 |
Полковник
Группа: Модераторы
Сообщений: 339
Награды: 6
Репутация: 13
Статус: Offline
| В принципе и 1000 линий не должны сильно грузить систему. У меня 1000 линий стабильно выдают 58-60FPS на ноуте с урезанной видяхой. Возможно, у тебя что-то не оптимизировано в коде либо логика ест все ресурсы. Сколько у тебя FPS выдает следующий пример: Code Graphics 800,600,2 SetBuffer BackBuffer()
Const UPS=60
period=1000/UPS time=MilliSecs()-period
SetFont LoadFont("courier",20)
Repeat
Cls
GAME_FRAME=GAME_FRAME+1 If a<MilliSecs()-1000 a=MilliSecs() : GAME_FPS=GAME_FRAME : FPS = GAME_FRAME : GAME_FRAME=0 EndIf
For h = 1 To 1000 Color Rnd(1,255),Rnd(1,255),Rnd(1,255) Line 400,300,Rnd(0,800),Rnd(0,600) Next
Color 255,255,255 Text 10,10,"FPS: "+FPS
Flip 1 Until KeyHit(1) EndGraphics End P.S. Попробуй еще с синхронизацией и без т.е. поставить Flip 0
Компьютерная мышь ночью собирает крошки у тебя со стола и прячет их в клавиатуру, делает запасы на зиму
|
|
| |
Squall | Дата: Суббота, 01.05.2010, 21:04 | Сообщение # 3 |
ламер
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
| В обоих случаях (с синхронизацией и без) выдает приблизительно 20 FPS при запуске в окне, фуллскрин вообще 1. С оконным режимом проще, там FPS в разы выше(70+), а мне бы сделать так, чтобы и в фуллскрин можно было нормально запускать. Хотя бы 1024х768, чтобы не тормозило (FPS хотя бы 30-40). Начиная со ста линий FPS падает ниже 10. У меня версия блица 1.98. PS Spidy, спасибо что ответил =)
|
|
| |
Spidy | Дата: Суббота, 01.05.2010, 21:23 | Сообщение # 4 |
Полковник
Группа: Модераторы
Сообщений: 339
Награды: 6
Репутация: 13
Статус: Offline
| Могу посоветывать либо заниматься оптимизацией (хотя ХЗ что тут можно придумать, не выводить каждый раз линию?) или апгрейдить систему. Второе вероятнее. Quote Начиная со ста линий FPS падает ниже 10 что-то не вяжется, ты же писал, что в моем примере с 1000-ю линиями у тебя было 20 FPS Quote при запуске в окне, фуллскрин вообще 1 еще могу посоветовать понизить color depth до 16 - это может спасти пару FPS Code Graphics 1024,768,16,0 плюс вырубай все программы в т.ч. winamp из-за которого возможны тормоза
Компьютерная мышь ночью собирает крошки у тебя со стола и прячет их в клавиатуру, делает запасы на зиму
|
|
| |
Squall | Дата: Суббота, 01.05.2010, 23:37 | Сообщение # 5 |
ламер
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
| Я писал, что при запуске в окне все нормально с сотней линий. Если уж с тысячью 20 FPS Проблема только в фуллскрине...это там со ста линий FPS меньше 10. Все программы вырубал, но толку мало. Система у меня неплохая (380+ видеопамять, 2 гига оперативы, двухъядерник). Придется обойтись без фулскрина наверное (color depth менял). В чем самая ирония: все проблемы с блицем, которые когда-либо возникали, были изза сложности оптимизации FPS и редко удавалось их полностью решать. Spidy у тебя в фулскрине сколько FPS выдают 100 и 200 линий?
|
|
| |
Spidy | Дата: Вторник, 04.05.2010, 22:38 | Сообщение # 6 |
Полковник
Группа: Модераторы
Сообщений: 339
Награды: 6
Репутация: 13
Статус: Offline
| Graphics 1024,768,32,1 1000 линий обычный экран - 58-60 FPS в полноэкранном - 58-60 FPS Если линий на пару сот больше FPS cущественно падают
Компьютерная мышь ночью собирает крошки у тебя со стола и прячет их в клавиатуру, делает запасы на зиму
|
|
| |
Squall | Дата: Среда, 05.05.2010, 15:08 | Сообщение # 7 |
ламер
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
| Spidy, какая у тебя версия блица? Может есть какойнибудь патч на отрисовку? Чтобы я ни делал в фуллскрине всеравно лажа =( Из-за чего вообще может быть настолько большая разница в этих режимах?
|
|
| |
Spidy | Дата: Среда, 05.05.2010, 15:53 | Сообщение # 8 |
Полковник
Группа: Модераторы
Сообщений: 339
Награды: 6
Репутация: 13
Статус: Offline
| Советую тебе придумать что-то другое вместо линий. Всетаки скорее всего комп загибается от такой нагрузки ( нужно проверить на каком-нибудь другом ). Версия блица тут не причем. Ты хоть скажи зачем тебе такая каша на экране. Кстати, может тебе поможет. Горизонтальные линии едят намного меньше ресурсов, чем вертикальные. Например, следующий пример из 1024 линий выдает у меня в фуллскрине 92-94 FPS без синхронизации Code
Graphics 1024,768,16,1 SetBuffer BackBuffer()
Const UPS=60
period=1000/UPS time=MilliSecs()-period
SetFont LoadFont("courier",20)
Repeat
Cls
GAME_FRAME=GAME_FRAME+1 If a<MilliSecs()-1000 a=MilliSecs() : GAME_FPS=GAME_FRAME : FPS = GAME_FRAME : GAME_FRAME=0 EndIf
For h = 1 To GraphicsWidth() Color Rnd(1,255),Rnd(1,255),Rnd(1,255) ;Line h,0,h,GraphicsHeight () Line 0,h,GraphicsWidth(),h Next
Color 255,255,255 Text 10,10,"FPS: "+FPS
Flip 0 Until KeyHit(1) EndGraphics End
Компьютерная мышь ночью собирает крошки у тебя со стола и прячет их в клавиатуру, делает запасы на зиму
|
|
| |
blitz3d | Дата: Среда, 05.05.2010, 15:55 | Сообщение # 9 |
Admin
Группа: Администраторы
Сообщений: 203
Награды: 3
Репутация: 7
Статус: Offline
| Squall, попробуй обновить видеодрайвер для своей видяхи
перед тобой две таблетки - красная и синяя - какую ты выберешь?
|
|
| |
Squall | Дата: Среда, 05.05.2010, 21:24 | Сообщение # 10 |
ламер
Группа: Пользователи
Сообщений: 5
Награды: 0
Репутация: 0
Статус: Offline
| Spidy, мне нужно как-то сделать наполнение емкости (не одной) жидкостью. Емкость неровная, так что Rect не прокатит. Линии все должны быть горизонтальные (в идеале, не до конца дописал еще ). blitz3d, попробую, спс за совет.
Сообщение отредактировал Squall - Среда, 05.05.2010, 21:25 |
|
| |
|