Jump to content

Archived

This topic is now archived and is closed to further replies.

PalIn

BufferPools

Recommended Posts

PalIn

Привет всем!

Собственно говоря это не совсем тема - больше информация.

На некоторых буржуйских сайтах имеются сообщения по поводу использования BufferPools. Вот в частности на http://forum.avsim.net/ в теме "The BP=0 conclusions FSX improvement by Jesus Altuve aka "Bojote""

"[bufferPools]

UsePools=0

(note that PoolSize is ignored if UsePools equals 0. Use 1 if you experience crashes )

When you see 'toggle' values (1 or 0) it means ON/OFF - UsePools its an ON / OFF value (1 or 0)

PoolSize its a 'size' value (in bytes) If you 'DISABLE' the pools, you will get increased

performance, AND ALSO, instability if you don't 'balance' your components and sliders

apropiately, in case of instability, then simply DO use pools by changing the value of UsePools

to 1 and 'adjust' PoolSize. BE CAREFUL (and forget everything you have been told about this value)

it does NOT use video memory, PERIOD. it uses SYSTEM memory, because its a special type of pool

called Explicit Vertex buffer which DOESN'T GO INTO VIDEO MEMORY unless they have A VERY SPECIFIC FLAG

(and they don't) more info here: http://msdn.microsoft.com/en-us/library/ff539490.aspx

you can also do your own tests and see how 'increasing' PoolSize affects the size of the fsx.exe process proportionally."

Как я понял использование параметра UsePools=0 ведет к повышению производительности и решил установить этот параметр. Потом где-то месяц занимался с FS9, а вчера понадобилось сделать несколько скриншетов с FSX и сим неожиданно заглючил: в VC стали периодически появляться по направлению взгляда тонкие вертикальные черные полосы, особенно при изменении взгляда. Кроме этого при изменении взгляда внутри VC по картинке стали пробегать волнообразные помехи. Так как об установленном ранее параметре я успел за это время забыть, то была легкая паника - неужели видеокарта начала умирать (GF285GTX). Посмотрел температуру графического процессора - 73º - высоковато, но в допустимых пределах. Драйвер видеокарты? Поменял на предыдущий. Поработал с настройками драйвера - включая и выключая параметры по очереди - без результата. Решил заменить fsx.cfg на старый сохраненный. И дефект моментально исчез. Почему? начал смотреть разницу в настройках ранее стоявшего fsx.cfg и установленным.

Вот она:

в старом было установлено:

[bufferPools]

UsePools=0

 

а в новом:

 

[bufferPools]

PoolSize=12000000

 

То есть оказалось что этот параметр довольно значительно влияет на обзор из VC.

Кроме этого еще раньше убедился (по крайней мере для моей видеокарты), что (как рекомендуют опять же на буржуйских сайтах) устанавливать этот параметр для карт с памятью 1гб и выше на уровне 200000000-400000000 ведет не к улучшению и убыстрению взгляда в VC, а напротив к тормозам. Как я убедился на основе опытов с этим параметром наиболее оптимальная величина PoolSize=10000000-12000000. Отмечу еще раз - это для моей карты.

Share this post


Link to post
Share on other sites
Alex_buka

Тут у каждого по-разному работает сия метода.

У меня например так:

[bufferPools]

PoolSize=8388608

RejectThreshold=131072

UsePools=0

 

Без "UsePools=0", фпс ниже примерно на 3-5 кадров.

 

Карта GTX 460.

Share this post


Link to post
Share on other sites
BUDAP66

Тут у каждого по-разному работает сия метода.

У меня например так:

[bufferPools]

PoolSize=8388608

RejectThreshold=131072

UsePools=0

 

Без "UsePools=0", фпс ниже примерно на 3-5 кадров.

 

Карта GTX 460.

А не подскажите в каком разделе цфг файла всё это поместить,или всё равно ?

Share this post


Link to post
Share on other sites
Alex_buka

Все равно. :)

Share this post


Link to post
Share on other sites
PalIn

Тут у каждого по-разному работает сия метода.

У меня например так:

[bufferPools]

PoolSize=8388608

RejectThreshold=131072

UsePools=0

 

Без "UsePools=0", фпс ниже примерно на 3-5 кадров.

 

Карта GTX 460.

 

Если исходить из приведенного вначале английского текста при значении UsePools=0 размер PoolSize не имеет никакого значения, так как 0 и 1 - это "выключить" и "включить"

 

(note that PoolSize is ignored if UsePools equals 0. Use 1 if you experience crashes )

When you see 'toggle' values (1 or 0) it means ON/OFF - UsePools its an ON / OFF value (1 or 0)

Share this post


Link to post
Share on other sites
Alex_buka

Если исходить из приведенного вначале английского текста...

Именно поэтому и оставил так, чтоб не считать значения для своей карты каждый раз. Исходил из конфига самого Bojote тут.

Share this post


Link to post
Share on other sites
BUDAP66

А тогда какой смысл в этих настройках,если они выключены ?

Share this post


Link to post
Share on other sites
Alex_buka

Смысл пробовать вкл/выкл. У каждого по разному работает. Значения для своей карты высчитал по давно обсуждавшейся теме и пробовал включать выключать. Для себя пришел к выводу что лучше выключить, у друга получилось наоборот. Поэтому и пишу: "тут у каждого по-разному работает сия метода."

Share this post


Link to post
Share on other sites
PalIn

Именно поэтому и оставил так, чтоб не считать значения для своей карты каждый раз. Исходил из конфига самого Bojote тут.

 

Так там так и написано

[bufferPools]

UsePools=0 // Setting this to 1 will turn the BufferPools ON (stability), setting it to 0 disables

RejectThreshold=102400

PoolSize=2097152

 

Если хотите выключить то и поставьте просто

[bufferPools]

UsePools=0

 

А те глюки о которых я сообщал у Вас при отключенном BufferPools проявлялияь или нет?

Share this post


Link to post
Share on other sites
Alex_buka

Так там так и написано..

А если я захочу включить, мне опять считать значения? :)

Share this post


Link to post
Share on other sites
BUDAP66

Сейчас попробовал эти варианты,короче у меня без этой группы строчек фпс держит в районе заданного 30 = 28-29,а с этими строчками 23-24.

Стёр я их,без них лучше :)

Share this post


Link to post
Share on other sites
Alex_buka

О чём и речь, FSX такая "загадочная" вещь, что у каждого всё индивидуально. :)

Share this post


Link to post
Share on other sites
BUDAP66

О чём и речь, FSX такая "загадочная" вещь, что у каждого всё индивидуально. :)

Это уж точно,сколько я с ним мучаюсь с настройками,а о финансах молчу,вот ради сима вновь обновил железо,но правда дышать стало легче :)

Share this post


Link to post
Share on other sites
PalIn

А если я захочу включить, мне опять считать значения? :)

 

 

Неужели Вы думаете что разница между PoolSize=8388608 и PoolSize=8000000 имеет какое-то значение?

Share this post


Link to post
Share on other sites
Alex_buka

Неужели Вы думаете что разница между PoolSize=8388608 и PoolSize=8000000 имеет какое-то значение?

Считайте что мне так нравится. :)

Share this post


Link to post
Share on other sites
PalIn

Сейчас попробовал эти варианты,короче у меня без этой группы строчек фпс держит в районе заданного 30 = 28-29,а с этими строчками 23-24.

Стёр я их,без них лучше :)

 

Экспериментировать надо в одинаковых условиях: погода, аэропорт, стоянка, самолет, время суток и самое главное направление взгляда в VC: если Вы замерили глядя вперед, то и в другом случае меряйте также. И посмотрите FPS при движении взгляда в VC - ведь BufferPools это в основном для VC.

Share this post


Link to post
Share on other sites
BUDAP66

Экспериментировать надо в одинаковых условиях: погода, аэропорт, стоянка, самолет, время суток и самое главное направление взгляда в VC: если Вы замерили глядя вперед, то и в другом случае меряйте также. И посмотрите FPS при движении взгляда в VC - ведь BufferPools это в основном для VC.

Да конечно же всё проводилось в одинаковых условиях,уж сколько этим делом занимаюсь...

Share this post


Link to post
Share on other sites
Palermo

Так там так и написано

[bufferPools]

UsePools=0 // Setting this to 1 will turn the BufferPools ON (stability), setting it to 0 disables

RejectThreshold=102400

PoolSize=2097152

В данном случае, несмотря на отключение UsePools=0, работает строка RejectThreshold=102400, что, в некотором роде, эквивалентно включению буффера.

Артефакты с которыми вы столкнулись связаны с перегрузкой видеокарты в условиях отключенного буффера. Их можно было поробовать убрать простым залочиванием частоты кадров в симе (штатными средствами или fps_limiter`ом) на 60 или 30 фпс.

В общих чертах ситуация такая: если вы летаете на тяжелом для проца самолете (PMDG) целесообразно использовать UsePools=0 и UPPER_FRAMERATE_LIMIT=0. Проц все-равно не нагрузит карту - никаких артефактов + прибавка производительности. При полетах VFR или подключать буффер или ограничивать кадры или как вариант мспользовать RejectThreshold на значении незначительно превышающем то, на котором уходят артефакты, но в любом случае не больше 512 КБ.

 

 

В последних редакциях своего цфг bojote уже использует UsePools=1

 

То есть оказалось что этот параметр довольно значительно влияет на обзор из VC.

Кроме этого еще раньше убедился (по крайней мере для моей видеокарты), что (как рекомендуют опять же на буржуйских сайтах) устанавливать этот параметр для карт с памятью 1гб и выше на уровне 200000000-400000000 ведет не к улучшению и убыстрению взгляда в VC, а напротив к тормозам. Как я убедился на основе опытов с этим параметром наиболее оптимальная величина PoolSize=10000000-12000000. Отмечу еще раз - это для моей карты.

Параметр влияет на прорисовку автогена при поворотах точки обзора и действительно является одним из самых тормозных в симуляторе.

Share this post


Link to post
Share on other sites
PalIn

..... Их можно было поробовать убрать простым залочиванием частоты кадров в симе (штатными средствами или fps_limiter`ом) на 60 или 30 фпс.

 

В моем случае это никак не влияло на проявление артефактов - я не сообщил - но естественно я попробовал менять ограничение FPS, хотя оно у меня выставленно постоянно на 50.

Share this post


Link to post
Share on other sites

×
×
  • Create New...