15.05.2010, 13:56 | #16 |
Матёрый пользователь
Регистрация: 10.02.2008
Сообщений: 1,440
Вы сказали Спасибо: 0
Поблагодарили 7 раз(а) в 7 сообщениях
|
...я конечно, не зверский программист, но ломать мозги о том, рвать или не рвать строку при передаче ее уже на уровне сети по протоколу TCP/IP - должно быть головной болью не программиста, а потока, управляющего сокетом отправления. Для сего ему положено иметь буфер для кеширования и формирования пакетов, протоколы контрольных сумм и еще многое, благодаря чему в винде еще до сих пор чудом работает сеть. Потому стоит соорудить MFC Based Application.
__________________
Это наша-то колея узкая? Да это ваша слишком широкая! |
01.01.2007, 12:00 | |
Яndex
Спонсор
Регистрация: 01.01.2007
Сообщения: 500
Реклама показывается изредка по случайному принципу |
РЕКЛАМА
|
15.05.2010, 18:02 | #17 | |
Матёрый пользователь
|
TRam_, не слушаешь нас — послушай Скифа.
Цитата:
Единственной заботой драйвера должен быть обмен данными, который используют другие скрипты и плагины. МФС имеет несколько дубовый вид. Я думаю, по простоте и удобству .NET больше подойдет. Последний раз редактировалось genesis; 15.05.2010 в 18:15. |
|
15.05.2010, 18:23 | #18 | |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,716
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
Цитата:
Например для клавиатуры код вообще отдельный надо делать, так как для неё нужно 3 байта (2 на код клавиши + флаг) , но обмениваться часто (~0.01 с). А мультиплееру надо 1 строку или массив писать, по несколько тысяч символов, но раз в 0.5 секунды. И запись ответной строки (в случае одномассивного интерфейса) задерижит отправку очередного ответа от клавиатуры. Не, если считаешь, что запись этих строк происходит почти мгновенно, я не имею ничего против. Но я не считаю, что ТРС умеет записывать строки в 2000 байт даже за 0.05 с (т.е. 5 пропущенных сигналов клавиатуры)
__________________
местный зомбяк |
|
15.05.2010, 19:21 | #19 | |
Матёрый пользователь
|
Цитата:
А еще, к твоему сведению, в ТРС многозадачность кооперативная. Так что как бы ты не выпендривался с десятком строк для каждой функции, по твоим суждениям следует, что запись данных мультиплеера по-любому заблокирует клавиатуру. Ты не прав. Во-первых, номинал времени отклика для нажатия клавиши — 0.1 с. Во-вторых, используя паттерн ли... А зря, вот сначала посчитай, а потом уже пиши, а то нередко "факты", написанные тобой, оказываются бредом. Живо встает в памяти проблема отражения ГСТСа от стрелок. Последний раз редактировалось genesis; 15.05.2010 в 19:26. |
|
15.05.2010, 19:42 | #20 |
Матёрый пользователь
|
Счеты
Тест:
Код:
int[] a = new int[10000]; int i; int j; Interface.Log("START"); for (i = 0; i < a.size(); ++i) { for (j = 0; j < a.size(); ++j) { a[i] = j; a[j] = i; } } Interface.Log("STOP"); Interface.Log(a[0] + a[a.size() - 1]); Код:
? 000004AC Warn 0:25.7 Trainz : WorldState::NativeLog> START ? 000004AC Warn 0:41.2 Trainz : WorldState::NativeLog> STOP ? 000004AC Warn 0:41.2 Trainz : WorldState::NativeLog> 19998 2 * 10000 * 10000 / (41.2 - 25.7) = 12903225,806451612903225806451613 То есть: 12.9 МБ/с (считаем целое четырехбайтовое число за один байтовый символ) Вывод: Скрипты в ТРС прекрасны. Последний раз редактировалось genesis; 15.05.2010 в 19:45. |
15.05.2010, 19:53 | #21 |
Матёрый пользователь
|
Миша, Вова, Саня! Каковы перспективы увидеть мультик в ТРС вцелом?)
Ребята вон для ГТА довольно быстро управились
__________________
Верю в смерть после жизни, любовь после секса и в крем после бритья |
15.05.2010, 20:04 | #22 |
Матёрый пользователь
|
Надо пробовать
Если техническая сторона все это вполне допускает, то организационные моменты гораздо сложнее, мне кажется. |
15.05.2010, 21:34 | #23 | ||
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,716
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
Цитата:
ЭТО ФАКТ. А моё предположение о том, что оно неверно определяется для противошёрстных стрелок вообще было вызвано фитчей АЛСН потери кодирования на стрелке и фактом не оказалось. Цитата:
__________________
местный зомбяк Последний раз редактировалось TRam_; 15.05.2010 в 21:37. |
||
15.05.2010, 22:54 | #24 |
Матёрый пользователь
|
Строка — тот же массив чисел. Ничего иного ты не обнаружишь.
К тому же имеет смысл работать именно с массивом интов. Так имеется возможность экономно передавать бинарные данные. Извлечь из такого массива строку легко, а наоборот — уже труднее. Как он может определять положение стрелки, ГСТС лишь ищет и находит, а положение стрелки выдается Junction.GetDirection() и от поиска не зависит. |
15.05.2010, 23:49 | #25 | ||
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,716
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
Цитата:
public native bool GSTrackSearch.GetFacingRelativeToSearchDirection ( void ) . Цитата:
__________________
местный зомбяк |
||
15.05.2010, 23:51 | #26 | |||
Матёрый пользователь
Регистрация: 30.08.2007
Адрес: Московская область, 36км
Сообщений: 3,620
Вы сказали Спасибо: 263
Поблагодарили 304 раз(а) в 172 сообщениях
|
Цитата:
Цитата:
Цитата:
P.S. Володя, ради бога, занимайся лучше своим делом — сопроматом и не мотай нам нервы и не трать наше время на опровержение твоей бредятины. |
|||
16.05.2010, 00:27 | #27 |
Матёрый пользователь
|
|
16.05.2010, 00:41 | #28 | |||
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,716
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
Цитата:
Цитата:
Цитата:
__________________
местный зомбяк |
|||
16.05.2010, 13:04 | #29 |
Матёрый пользователь
|
|
16.05.2010, 13:12 | #30 |
Матёрый пользователь
Регистрация: 18.02.2008
Сообщений: 8,716
Вы сказали Спасибо: 1,424
Поблагодарили 2,377 раз(а) в 1,330 сообщениях
|
возвращает всегда false. При любом положении левера относительно пути.
Следующий SearchNext выдаёт null, так что для маршрутизации надо запоминать объект перед стрелкой и его направление относительно поиска, чтобы после её перевода возобновлять поиск с этого объекта, а не со стрелки. |
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|
Что это? |