HLFX.Ru Forum (https://hlfx.ru/forum/index.php)
- Half-Life SDK (https://hlfx.ru/forum/forumdisplay.php?forumid=8)
-- Кто-нибудь имел дело с Instanced Baselines? (https://hlfx.ru/forum/showthread.php?threadid=4486)
Отправлено XaeroX 08-10-2014 в 21:10:
Кто-нибудь имел дело с Instanced Baselines?
client.cpp, строка 1687
Довольно оригинальный способ оптимизации сетевого трафика для часто создающихся серверных объектов (ракет, гранат, веапонбоксов и т.п.)
Сами по себе инстансед-вазелины сжирают дополнительные 6 бит трафика (по крайней мере, в халфе), но позволяют сэкономить гораздо больше.
Удивительно то, что в самой халфе они почему-то не применяются, хотя код для них полностью написан. 
Может, кто пробовал их использовать? Или хотя бы видел мод, где они заюзаны?
В волатиле, понятное дело, они будут использоваться, но хотелось бы всё-таки взглянуть на реальный пример из голдсорса.
__________________
Отправлено ~ X ~ 09-10-2014 в 09:47:
Да.
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Отправлено XaeroX 09-10-2014 в 09:48:
Круто! Это всё, что я хотел услышать!
__________________
Отправлено XaeroX 12-10-2014 в 21:21:
Похоже, товарищ ~ X ~, уподобившись пятачковоносым любителям сала, бессовестно соврал. В сорцах XDM функция CreateInstancedBaselines столь же пустая, сколько и в обычном хлсдк. 
Ну что, никто не создавал инстансед-вазелины, что ли? 
__________________
Отправлено ~ X ~ 13-10-2014 в 07:27:
XaeroX your sources are old.
C++ Source Code:
1 | // XDM3037: since valve claims this will help reducing traffic... |
2 | const char *g_InstancedBaselineEntities[] = |
22 | ================================ |
23 | CreateInstancedBaselines |
25 | Create pseudo-baselines for items that aren't placed in the map at spawn time, but which are likely |
26 | to be created during play ( e.g., grenades, ammo packs, projectiles, corpses, etc. ) |
27 | ================================ |
29 | void CreateInstancedBaselines ( void ) |
31 | entity_state_t ibaseline; |
33 | // Create any additional baselines here for things like grendates, etc. |
34 | while (g_InstancedBaselineEntities[i] != NULL) |
36 | CBaseEntity *pEntity = CBaseEntity::Create(MAKE_STRING(g_InstancedBaselineEntities[i]), g_vecZero, g_vecZero, g_vecZero, NULL, 0); |
39 | memset(&ibaseline, 0, sizeof(ibaseline)); |
40 | CreateBaseline(0, 0, &ibaseline, pEntity->edict(), 0, g_vecZero, g_vecZero); |
41 | iret = ENGINE_INSTANCE_BASELINE(pEntity->pev->classname, &ibaseline); |
43 | SERVER_PRINT(UTIL_VarArgs("CreateInstancedBaselines(%s): %d\n", g_InstancedBaselineEntities[i], iret)); |
45 | REMOVE_ENTITY(pEntity->edict()); |
Это ещё 3037. В 3038 мб ещё что-то поменялось.__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Отправлено XaeroX 13-10-2014 в 07:57:
~ X ~
Спасибо.
А где версию в сорцах посмотреть можно?
И ещё: ты замеры с включением-выключением sv_instancedbaselines проводил, выигрыш реально был?
__________________
Отправлено ~ X ~ 14-10-2014 в 14:15:
XaeroX честно говоря, ВАААЩЩЩЕ не помню, что и как оно дало. Делалось сначала из соображений "ни у кого нету, а у меня будет!" (не путать "вот ещё фича, которая угробит Ксаш при старте"). 
Последние сорцы могу дать, но позже. В обмен на сорцы волатилы 
__________________
Минутка полезного:
Бесплатный UT-подобный Half-Life mod.
Бесплатный редактор для 32-битных текстур. Без дотнета.
Бесплатный IDE для любых компиляторов и ЯП.
Бесплатная Windows-подобная ОС.
Проверка грамматики русского языка.
Чат по hl[fx]: [email protected]
Отправлено XaeroX 14-10-2014 в 15:20:
~ X ~
Так может, это только увеличило трафик? Я, например, точно говорю, что каждый инстансед-вазелин это дополнительные 6 бит каждый снапшот плюс на сколько-то увеличивается сигнон-датаграмма.
Цитата:
~ X ~ писал:
ни у кого нету, а у меня будет!
Вот и вальва так рассуждала, наверное. Но потом почему-то не заюзала. Может, тесты провела? 
__________________
Отправлено a-kush-er 14-10-2014 в 16:00:
//post200
Цитата:
XaeroX писал:
Может, тесты провела?
или наоборот