Показать сообщение отдельно
Старый 19.08.2009, 00:23   #11
ZloyPetrushkO
Местный
 
Регистрация: 31.05.2008
Сообщений: 1,159
По умолчанию

Кирилл, спасибо за тесты!
а может и правда зависит от ФПС? может посмотришь, как у тя чусвтвует ся фпс в Норвегии\Словакии\старых картах?

и как ты считаешь, так лучше будет или еще понизить в том же направлении?



Цитата:
Сообщение от SJack Посмотреть сообщение
Странно, нечему там вроде тормозить. Ну сегодня-завтра я качну свежую версию и посмотрю код, может что придумаю. Или исходники "тормозящие" можешь выложить. Количество тактов, скорее всего, лимитировано фпсом, вряд ли там вызов по таймеру. Поэтому и не оч. хорошо вычислять каждый такт - количество тактов-то разное у всех, привязать к формуле вычисления вероятности временной промежуток между тактами очень было бы замечательно.
Да, насчет отладочных сообщений в консоль - они тоже тормозят заметно (особенно если их много сыпется), поэтому в финале лучше выложи две версии - одну с сообщениями, типа "отладочная", другую без -типа "финальная".
Человечков посмотрю обязательно, а то визуальная картина неполная получается
сообщения отладочные ессна уберу в релизе

а тормозящего там обращение к паре др переменных. хотя возможно, ето на моей слабенькой машине они переходят некий порог.
сейчас к сожалению очень занят МАКСом и не могу уже сидеть программировать до 3-4хутра=((
в ближайшее время постараюсь по памяти восстановить. но там смыслы были такие
1) привязать вероятность к дистанции. тормозит не очень сильно. приемлимо в принципе.
там сосбна надо домножить коэфициент вероятности на зависимость от расстояния:
float dw = 1.5 * 700.0F / dist ;

2) более сложный вариант. заключался в том, что если вектора совпадали, то в переменную некую заносилось текущее время, и потом черех Х тиков сново сранвивались веткора. примерно так
if( time.current > time1 + 1000L){
if( условия совпадения в-в) {
time1 = time.current;
}
}

if ( time.current = ( или больше. непомню=/) time1 + 1000L){
if(условия параллельности в-в) {
tmAAAScared = time.current;
tmHL = time. current;
AAA human lunch;
}
}
в общем кароче смысл- берем сравниваем вектора, елси они совпадают- то еще 1000L их не трогаем, а на 1001 тик сново их сравниваем.

как то так.
по человечкам- я уже увы не успеваю( сча буду бомбо мод делать...
а вот с обращением к файлу миссии. там етсь одна трабла. у кораблей там же немного не так-он сначала считает а потом гдето хранит. по артиллерии такой штуки нету, писать достаточно много. соотвественно, он будет каждый раз обращаться к текстовому файлу. а если еще и делать проверку на то назначил ли пользователь( а соотвественно надо еще проверку чтоб пользователь правильно назначил!!)...
разве ето небудет тормозить?

проверка на френдлифаер заключаеться в том, что она просто проверяет дружественные объекты, которые находяться просто рядом.
но я личн нехочу бороться с ферндли фаером, не так уж он велик- а в реале его увы неизбежать(
ZloyPetrushkO вне форума   Ответить с цитированием