>Я до сих порсижу с AMD HD 5650м + прибавьте то, что экран 3D
>Очень хочется 60 фпс
В шутеры не играешься потому что, иначе первым требованием было бы минимум 40 FPS. Когда активная пальба начинается, то от фрэймрэйта твоя успешность зависит (в сетевых баталиях ещё и от лага). От фрэймрэйта зависит скорость прицеливания. Если на поле брани вот такое происходит, то выживает тот, у кого выше фрэймрэйт и меньше сетевой лаг. Я это ещё по Сталкеру заметил: с низким фпс из пистолета практически невозможно в снорка или тушкана попасть (я в него на слабой видюхе начинал играться).
>Слабее разве что по памяти, ядро гораздо более производительное на больших частотах.
Я на тесты смотрю, и только если их нет на характеристики.
>У меня БП 180 Вт для ноута…
А у меня 700 Вт. Это ни о чём не говорит.
Разве что, можно предположить, что в пиковых нагрузках просядут линии +3.3 и +5. Видел такое, и именно поэтому вместо БП 400 Вт был куплен брэндовый семисотватник.
L4D2, кстати, не очень требовательная игрушка. Нужно смотреть нечто вот такое:
На диаграммке названия игрушек
Зачем нужна хорошая видюха видно из вот этих тестов:
>мою карту можно разогнать примерно до вашей…
Интересно, что мобильная 880 всё равно оказывается слабее чем полновесной 670. Т.е. разгон ничего не даст.
>Пара 780M это очень даже ничего производительность
Очень любопытно! Я пока не представляю ноута, из которого можно успешно отвести 200 Вт. Это особенно сложно представить потому, что корпус моего компа при максимальных нагрузках прогревается градусов до 40 — 43 (не измерял, но по ощущениям именно столько). Думаю, обычный ноут от такого кол-ва теплоты должен задымиться.
Надо не максимальный и не средний FPS смотреть, а минимальный. Когда на экране взрыв, пламя, дым FPS проваливается в минуса (Crysis, Crysis 3). Нафиг так играть!
Сужу по GTX 670, а она несколько круче чем упомянутая мобильная карточка.
Из-за того, что нормальную/полноценную/полновесную видеокарту не поставить (ибо TDP), а тем более SLI/CrossFire, я не люблю ноутбуки.
Это рассчитано на тех, кто читает очень быстро. При большой скорости чтения, например 500 слов в минуту на критическую оценку текста времени нет, и читатель впитывает всё, что ему написал автор.
Тут есть люди, которые читают по паре-тройке книг в неделю. Они не отдают себе отчёта в том, что не обдумывают прочитанное — они просто поглощают.
Я некоторые книги по полгода читаю, а некоторые вовсе не осилил, при этом часть книг я не читаю, а изучаю с карандашом в руках. В среднем на книгу уходит месяц, иногда больше. То, что можно читать по пути на работу, в метро повиснув между пассажирами, я книгами не считаю.
Process[] myProcesses2 = Process.GetProcessesByName(process);
for (int i = 1; i < myProcesses2.Length; i++) { myProcesses2[i].Kill(); }
Мало того, что вы таким способом можете не убить процесс (закрытие главного окна может не привести к завершению процесса), так ещё и повиснуть этот код может (если, наример, MainWindow будет переоткрываться после закрытия, или, например при попытке закрытия будет выдаваться MessageBox с предложением сохранить результаты работы).
Тщательно проведенные исследования показали, что освещенность в 1,3 лк монохромного синего света или в 100 лк белого света может значительно подавить продукцию мелатонина эпифизом. Значительное снижение уровня мелатонина было обнаружено у добровольцев, подвергнутых в течение 2-х недель прерывистому воздействию света ночью. Подчеркивается, что воздействие света ночью влияет и на другие физиологические механизмы.
Полученные результаты могут модернизировать методики светотерапии, используемые при различных нарушениях сна, сбоях суточных ритмов и психических проблемах, например при сезонном аффективном расстройстве (см.: Seasonal affective disorder), в России хорошо известном как «зимняя депрессия», а также для облегчения участи людей, работающих по ночам. Раньше для этого применялся в основном коротковолновой синий свет, возбуждающий меланопсиновые клетки. Но вполне возможно, что более длинноволновой «колбочковый» свет окажется ничуть не менее полезным — либо сам по себе, либо в совокупности с коротковолновым.
Вообще-то синий свет сильно влияет на выработку нейромедиаторов, таких как дофамин и гормонов суточных ритмов (мелатонин).
Я бы не рискнул постоянно носить жёлтые очки — боком может выйти.
В костре разве не частицы сажи излучают?
Их излучение имеет спектр, близкий к спектру абсолютно чёрного тела. А при таких температурах, как в костре, ультрафиолета там кот наплакал — по мощности от фоновой радиации не отличить…
Функция оказалась на удивление маленькой, она вся здесь, под катом. В функции активно используются строковые операции сравнения c префиксом повторения (cmps*).
Например, сравнение DWORD'ов выглядит так:
while
(
( 0 != ecx )
& ( 0 == Compare( (DWORD) RAM[esi], (DWORD) RAM[edi] ) )
)
{
--ecx;
edi += 4;
esi += 4;
}
Почти так же можно представить побайтное сравнение.
То, что функция оказалась медленнее unsafe я могу обяснить только тем, что в unsafe за одну итерацию цикла читаются два соседних DWORD'а для каждого массива, а здесь только один (цикл не развёрнут).
Дизассемблер с комментариями
77A52780 /$ 56 push esi ; сохранить значения регистров в стеке
77A52781 |. 57 push edi
77A52782 |. FC cld ; DF <-- 0
77A52783 |. 8B7424 0C mov esi, [esp+0C] ; esi <-- Source1
77A52787 |. 8B7C24 10 mov edi, [esp+10] ; edi <-- Source2
77A5278B |. 8B4C24 14 mov ecx, [esp+14] ; ecx <-- SIZE_T
77A5278F |. C1E9 02 shr ecx, 2 ; ecx <-- (ecx >> 2) ( делим счётчик на 4)
77A52792 |.- 74 04 jz short smaller_4 ;
77A52794 |. F3:A7 repe cmpsd ; В цикле по ecx сравниваем DWORD'ы;
77A52796 |.- 75 16 jne short not_zero ; if ( !ZF ) goto not_zero;
smaller_4:
77A52798 |> 8B4C24 14 mov ecx, [esp+14] ; ecx <-- SIZE_T
77A5279C |. 83E1 03 and ecx, 00000003 ; ecx &= 3
77A5279F |.- 74 04 jz short return_SIZE_T ; if ( ZF ) goto return_SIZE_T;
77A527A1 |. F3:A6 repe cmpsb ; в цикле сравниваем байты
77A527A3 |.- 75 16 jne short found_difference
return_SIZE_T:
77A527A5 |> 8B4424 14 mov eax, [esp+14] ; eax <-- SIZE_T
77A527A9 |. 5F pop edi ; восстанавливаем значения регистров
77A527AA |. 5E pop esi
77A527AB |. C2 0C00 ret 0C ; return eax
not_zero:
77A527AE |> 83EE 04 sub esi, 4 ; esi -= 4
77A527B1 |. 83EF 04 sub edi, 4 ; edi -= 4
77A527B4 |. B9 04000000 mov ecx, 4 ; ecx -= 4
77A527B9 |. F3:A6 repe cmpsb ; в цикле сравниваем байты
found_difference:
77A527BB |> 4E dec esi ; --esi
77A527BC |. 2B7424 0C sub esi, [esp+0C] ; esi <-- (esi - Source1)
77A527C0 |. 8BC6 mov eax, esi ; eax <-- esi
77A527C2 |. 5F pop edi ; восстанавливаем значения регистров
77A527C3 |. 5E pop esi
77A527C4 \. C2 0C00 ret 0C ; return eax
Трэйс от управляемого кода к функции показал всего 50 команд.
main 00540F14 call 001DC2F4 ESP=001AEE14
main 001DC2F4 mov eax, 1D38D8 EAX=001D38D8
main 001DC2F9 mov ebp, ebp
main 001DC2FB jmp 00540F40
main 00540F40 push ebp ESP=001AEE10
main 00540F41 mov ebp, esp EBP=001AEE10
main 00540F43 push edi ESP=001AEE0C
main 00540F44 push esi ESP=001AEE08
main 00540F45 push ebx ESP=001AEE04
main 00540F46 sub esp, 28 ESP=001AEDDC
main 00540F49 mov [ebp-18], eax
main 00540F4C xor ebx, ebx EBX=00000000
main 00540F4E mov [ebp-10], ebx
main 00540F51 mov [ebp-14], ebx
main 00540F54 mov esi, fs:[0E38] ESI=002F2AE0
main 00540F5B mov dword ptr [ebp-30], 645CABC8
main 00540F62 mov dword ptr [ebp-34], C28DAB21
main 00540F69 mov eax, [esi+0C] EAX=001AF09C
main 00540F6C mov [ebp-2C], eax
main 00540F6F mov [ebp-1C], ebp
main 00540F72 mov dword ptr [ebp-20], 0
main 00540F79 lea eax, [ebp-30] EAX=001AEDE0
main 00540F7C mov [esi+0C], eax
main 00540F7F xor ebx, ebx
main 00540F81 test ecx, ecx
main 00540F83 je short 00540F8F
main 00540F85 mov [ebp-10], ecx
main 00540F88 mov eax, ecx EAX=023B42E4
main 00540F8A add eax, 8 EAX=023B42EC
main 00540F8D mov ebx, eax EBX=023B42EC
main 00540F8F xor edi, edi EDI=00000000
main 00540F91 test edx, edx
main 00540F93 je short 00540F9F
main 00540F95 mov [ebp-14], edx
main 00540F98 mov eax, edx EAX=023B42E4
main 00540F9A add eax, 8 EAX=023B42EC
main 00540F9D mov edi, eax EDI=023B42EC
main 00540F9F mov eax, [ebp-18] EAX=001D38D8
main 00540FA2 mov eax, [eax+14] EAX=001D397C
main 00540FA5 mov ecx, [eax] ECX=75A97975
main 00540FA7 push dword ptr [ebp+0C] ESP=001AEDD8
main 00540FAA push dword ptr [ebp+8] ESP=001AEDD4
main 00540FAD push edi ESP=001AEDD0
main 00540FAE push ebx ESP=001AEDCC
main 00540FAF mov dword ptr [ebp-28], 0
main 00540FB6 mov [ebp-24], esp
main 00540FB9 mov dword ptr [ebp-20], 540FC6
main 00540FC0 mov byte ptr [esi+8], 0
main 00540FC4 call ecx ESP=001AEDC8
Какова цель — бессмысленный вопрос.
Цель любой коммерческой организации — максимализация прибыли. Microsoft — коммерческая организация, код там пишут не для того чтобы мир улучшить, а для получения прибыли.
Даже если DirectX версии N был бы идеален, то следовало бы придумать причину, по которой надо было бы написать и продвинуть версию N+1.
>Очень хочется 60 фпс
В шутеры не играешься потому что, иначе первым требованием было бы минимум 40 FPS. Когда активная пальба начинается, то от фрэймрэйта твоя успешность зависит (в сетевых баталиях ещё и от лага). От фрэймрэйта зависит скорость прицеливания. Если на поле брани вот такое происходит, то выживает тот, у кого выше фрэймрэйт и меньше сетевой лаг. Я это ещё по Сталкеру заметил: с низким фпс из пистолета практически невозможно в снорка или тушкана попасть (я в него на слабой видюхе начинал играться).
Я на тесты смотрю, и только если их нет на характеристики.
>У меня БП 180 Вт для ноута…
А у меня 700 Вт. Это ни о чём не говорит.
Разве что, можно предположить, что в пиковых нагрузках просядут линии +3.3 и +5. Видел такое, и именно поэтому вместо БП 400 Вт был куплен брэндовый семисотватник.
L4D2, кстати, не очень требовательная игрушка. Нужно смотреть нечто вот такое:
Зачем нужна хорошая видюха видно из вот этих тестов:
Интересно, что мобильная 880 всё равно оказывается слабее чем полновесной 670. Т.е. разгон ничего не даст.
>Пара 780M это очень даже ничего производительность
Очень любопытно! Я пока не представляю ноута, из которого можно успешно отвести 200 Вт. Это особенно сложно представить потому, что корпус моего компа при максимальных нагрузках прогревается градусов до 40 — 43 (не измерял, но по ощущениям именно столько). Думаю, обычный ноут от такого кол-ва теплоты должен задымиться.
Сужу по GTX 670, а она несколько круче чем упомянутая мобильная карточка.
Из-за того, что нормальную/полноценную/полновесную видеокарту не поставить (ибо TDP), а тем более SLI/CrossFire, я не люблю ноутбуки.
Тут есть люди, которые читают по паре-тройке книг в неделю. Они не отдают себе отчёта в том, что не обдумывают прочитанное — они просто поглощают.
Я некоторые книги по полгода читаю, а некоторые вовсе не осилил, при этом часть книг я не читаю, а изучаю с карандашом в руках. В среднем на книгу уходит месяц, иногда больше. То, что можно читать по пути на работу, в метро повиснув между пассажирами, я книгами не считаю.
Так нельзя!
Мало того, что вы таким способом можете не убить процесс (закрытие главного окна может не привести к завершению процесса), так ещё и повиснуть этот код может (если, наример, MainWindow будет переоткрываться после закрытия, или, например при попытке закрытия будет выдаваться MessageBox с предложением сохранить результаты работы).
bono-esse.ru/blizzard/Farma/Melatonin/melatonin2.html
elementy.ru/news/431334
Я бы не рискнул постоянно носить жёлтые очки — боком может выйти.
Их излучение имеет спектр, близкий к спектру абсолютно чёрного тела. А при таких температурах, как в костре, ультрафиолета там кот наплакал — по мощности от фоновой радиации не отличить…
memcmp()
иRtlCompareMemory()
Функция оказалась на удивление маленькой, она вся здесь, под катом. В функции активно используются строковые операции сравнения c префиксом повторения (
cmps*
).Например, сравнение DWORD'ов выглядит так:
Почти так же можно представить побайтное сравнение.
То, что функция оказалась медленнее unsafe я могу обяснить только тем, что в unsafe за одну итерацию цикла читаются два соседних DWORD'а для каждого массива, а здесь только один (цикл не развёрнут).
Применение атрибута дало хороший эффект. Прогон от 1 байта до 12 Кб дал вот такие результаты:
Цель любой коммерческой организации — максимализация прибыли. Microsoft — коммерческая организация, код там пишут не для того чтобы мир улучшить, а для получения прибыли.
Даже если DirectX версии N был бы идеален, то следовало бы придумать причину, по которой надо было бы написать и продвинуть версию N+1.
Сейчас добавлю ссылку в топик.
DoMeasurements()
присутствует строка:Из-за этого результаты и неверны.
Поправлю опечатки и исходники — обновлю статью, выложу корректные исходники.
Смотрите, проверяйте, перепроверяйте. Увы, у меня без таких обидных ляпов не получается…