forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Render World и Графический процессор видеокарты (http://forum.boolean.name/showthread.php?t=16603)

Halk-DS 07.04.2012 01:56

Ответ: Render World и Графический процессор видеокарты
 
Цитата:

Сообщение от HolyDel (Сообщение 224710)
ничего hideentity не убирает из видеопамяти. сами подумайте, вот загрузили мы меш и откопировали его copyentity. один скрыли, что он будет из видопамяти убирать? меш то один.
он просто убирает объект из списка рендерящихся объектов.

Исходя из этого, есть ли смысл делать HideEntity на объекты:
1. Те что стоят у тебя за спиной(не попадают в область зрения камеры)
2. Те что стоят за любыми преградами(попадают в область зрения камеры, но например они стоят за стеной.)

Mr_F_ 07.04.2012 02:20

Ответ: Render World и Графический процессор видеокарты
 
Цитата:

1. Те что стоят у тебя за спиной(не попадают в область зрения камеры)
нет, их блиц должен сам отсеять.
Цитата:

2. Те что стоят за любыми преградами(попадают в область зрения камеры, но например они стоят за стеной.)
да, о загорождениях блиц не знает.

SBJoker 07.04.2012 11:31

Ответ: Render World и Графический процессор видеокарты
 
Как то проводились исследования, и было выяснено что HideEntity тормозит сильнее чем EntityAlpha(0)

burovalex 07.04.2012 22:33

Ответ: Render World и Графический процессор видеокарты
 
В разве у них не разный эффект?
Могу ошибаться, но как помню HideEntity убирает объект из списка коллизий а AlphaEntity нет :rolleyes:

Wegox 07.04.2012 22:36

Ответ: Render World и Графический процессор видеокарты
 
Цитата:

Сообщение от burovalex (Сообщение 224864)
В разве у них не разный эффект?
Могу ошибаться, но как помню HideEntity убирает объект из списка коллизий а AlphaEntity нет :rolleyes:

Это только в том случие если ты используеш коллизию при тестировании о котором пишет SBJoker коллизии не было

Halk-DS 07.04.2012 23:28

Ответ: Render World и Графический процессор видеокарты
 
ИМХО блицевские коллизии полная лажа. Лучше самому что то накидать.

burovalex 08.04.2012 09:46

Render World и Графический процессор видеокарты
 
Согласен с твоим ИМХО )
Но зачем изобретать велосипед?! Я сейчас изучаю PhysX, мне пока этого более чем достаточно
Есть маленкие косячки, но терпимые :)

Цитата:

Сообщение от Wegox (Сообщение 224865)
Это только в том случие если ты используеш коллизию при тестировании о котором пишет SBJoker коллизии не было

Я знаю о чем он пишет
Я хочу сказать что их сравнивать теряет смысл
Это равносильно сравнить велосипед и мотоцикл, потому что на них ездят
PS. Опять я про велосипеды :4to: ))

Черный крыс 08.04.2012 15:11

Ответ: Render World и Графический процессор видеокарты
 
Проблема простоя решается введением потокового исполнения разных по логике участков кода, например обсчет исполнять в главном потоке а рисование пустить отдельно.

Насчет видимости. В Блице реализована простейшая оптимизация, тоесть у камеры есть фрустум и по нему на этапе рендера проверяется меш на попадание этого фрустума, если он не попал или же альфа нулевая то меш не рисуется.

Насчет дальнейших оптимизаций рендера - Блиц держит Quake 3 *.BSP
Вводить свою систему оптимизации считаю нецелесообразным.

Насчет ХайдЕнтити и разницы между ЕнтитиАльфой.
У Блица внутри есть список всех ентити, которые нужно отрисовать, так вот - функция HideEntity() - физически удаляет ентити из всех списков (из списка коллизии и рендера), поэтому он ресурсоемок, в EntityAlpha() ничего подобного не происходит, а при переборе ренднр-листа ентити с нулевой альфой просто пропускается.

Mr_F_ 08.04.2012 15:53

Ответ: Render World и Графический процессор видеокарты
 
Цитата:

Насчет дальнейших оптимизаций рендера - Блиц держит Quake 3 *.BSP
хм, он разве их не просто как тупо меш загружает?

Платон Александрович 09.04.2012 08:29

Ответ: Render World и Графический процессор видеокарты
 
Цитата:

Сообщение от Halk-DS (Сообщение 224868)
ИМХО блицевские коллизии полная лажа. Лучше самому что то накидать.

Правда что-ль? И в чем же там лажа, просвяти, будь так любезен.

Цитата:

Сообщение от Diablo1909 (Сообщение 224892)
функция HideEntity() - физически удаляет ентити из всех списков (из списка коллизии и рендера), поэтому он ресурсоемок

Нет, HideEntity устанавливает флажок, и рендер пропускает его при переборе списка, так-же как и с EntityAlpha.

Цитата:

Сообщение от Mr_F_ (Сообщение 224899)
хм, он разве их не просто как тупо меш загружает?

Нет, юзает BSP для куллинга и для коллизий.

Halk-DS 09.04.2012 23:16

Ответ: Render World и Графический процессор видеокарты
 
Цитата:

Сообщение от Платон Александрович (Сообщение 224958)
Правда что-ль? И в чем же там лажа, просвяти, будь так любезен.

Среди всех моих зачатков игр :-D можно определить 2 типа. Либо надо кул физика, где на блиц большое разнообразие библиотек. Либо там можно все делать простыми математическими методами, что будет быстрей.
п.с. Я не зря написал что это мое личное мнение...


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

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