Нет, вру. Нашёл упоминание поиском по странице в названии статьи. Но как его скачать — всё равно не понятно.
Вот вы жаловались, что CppCat крайне не популярен и никто его не покупает. Знаете что? Никто просто не знает о его существовании.
Когда я зашёл на страницу, я ожидал увидеть нечто вроде раздела «Other products» (например — в верхнем меню), где бы и находился CppCat. Но — нет.
Надо заметить, что полноценного 3d звука я не слышал со времён Win XP. Не то, что бы я много играю в современные игры, но в тех, что я запускал — 3d звук работал из рук вон плохо.
Это Microsoft, детка. В Windows 8 субпиксельное сглаживание отключено и ничего.
Игра с «поддержкой EAX» — это каждая первая игра, использующая Direct Sound и запученная на Windows XP. Microsoft просто заменил хардварную обработку звука через EAX на софтварную.
Убитость софтварного микширования звуков в том, что, во-первых, оно тратит ресурсы ЦП а во-вторых — в качестве результата. Дистретная звуковуха это делает лучше в силу специализации, закрытости исходных кодов прошивки (соответственно, фичу, о который ты не знаешь, не воспроизвести), узкоспециализированных процессоров, а так же из-за патентов, находящихся у компаний-разработчиков дискретных звуковых карт (Тот же самый Creative).
WASAPI миксуется софтварно, если я не ошибаюсь. ASIO — это вывод смиксованного звука — «телепорт к аудиовыходу», если можно так выразиться. Для 3D звука он не применим.
В общем от этого шага пострадали именно геймеры с оборудованием лучше среднего. А так же люди, профессионально занимающиеся обработкой звука в Windows
И эффекты тоже. Значительно ухудшилось качество 3D звука на дискретных картах (У меня Sound Blaster Audigy SE была тогда)
Играл я когда-то в Aion, как раз в момент перехода с Win XP на Win 7 — разница кардинальная. В Win 7 очень не хватает глубины (в буквальном смысле) при расположении звуков в 3D сцене. Значительно труднее понять насколько далеко от тебя находится источник и сзади он или спереди. Про само звучание я даже не говоню.
Где этот раздел находится? От текста на фоне текста на фоне анимации просто вытекают глаза, а мозг плавится в попытках понять в увиденном буквы. Что характерно, не понимает Оо.
На мой взгляд, проблема реализации PureMVC именно в плохих архитектурных решениях и незнаниях возможностей фреймворка.
PureMVC заставляет писать тонны бойлерплейта, которые, вообще говоря, не нужны.
Так же в нём есть куча велосипедов: там написали свой NSNotification и свой NSNotificationCenter.
А уж выуживание объектов по строковому ключу — вообще за гранью добра и зла.
В любом случае, в чём
somethingManager = (TCSomethingManager*) [[ECApplicationFacade getInstance] retrieveProxy:[TCSomethingManager NAME]];
лучше, чем
somethingManager = [TCSomethingManager sharedManager];
я не понимаю.
На мой взгляд практический любой велосипед, реализующий MVC-паттерн будет лучше, чем PureMVC. Ну или возможен вариант, что в том проекте, откуда я беру примеры, его просто «неправильно приготовили».
Имхо, Pure MVC под ObjC надо обходить за версту. У меня складывается впечатление, что его разработчики увидели впервые Objective-C и iOS/OsX именно при портировании.
PureMVC ломает типичный подход UIKit, когда UIViewController является контроллером, а UIView, соответственно, вью. В терминах PureMVC UIViewController это View, а UIVIew существует вообще где-то сбоку.
В копилку плохого кода, который порождает PureMVC в кривых неопытных руках: govnokod.ru/9614
При этом всём версия под Java для постороннего взгляда кажется значительно вменямее.
Я на системнике умудрился язычок из разъёма выломать. Правда для этого понадобилось на вставленный штекер уронить переднюю панель от выдвижного ящика с высоты 40 см. Штекер остался целым, кстати.
Имена методов неудачные.
Тот же откомментированный «IsLevelRunning» делает не то, что написано в его имени. Это скорее «VerifyIsLevelsRunning» или как-то так. Если бы имя было правильное — комментарий был бы не нужен.
Справедливости ради надо заметить, что однажды антивирус меня таки спас: блокировал открытие заражённого pdf. То ли даташит, то ли ещё что-то такое из, как казалось, надёжного источника. Был это бесплатный Comodo Internet Security, кстати.
Так что здравый смысл — штука хорошая, но антивирус как страховка — вполне себе.
2-25000: 00:00:00.2458574
25001-50000: 00:00:00.3246583
finalizing: 00:00:00.5395141
total: 00:00:00.8882113
И быстрее 0.54 получить не получится ну никак.
_https://gist.github.com/krypt-lynx/4326359b748c5f4b9cc8
const int threadCount = 2; static Task<BigInteger> AsyncProdTree(int l, int r) { return Task<BigInteger>.Run(() => ProdTree(l, r)); } static BigInteger FactThreadingTree(int n) { if (n < 0) return 0; if (n == 0) return 1; if (n == 1 || n == 2) return n; if (n < threadCount+1) return ProdTree(2, n); Task<BigInteger>[] tasks = new Task<BigInteger>[threadCount]; tasks[0] = AsyncProdTree(2, n / threadCount); for (int i = 1; i < threadCount; i++) { tasks[i] = AsyncProdTree(((n / threadCount) * i) + 1, (n / threadCount) * (i + 1)); } Task<BigInteger>.WaitAll(tasks); BigInteger result = 1; for (int i = 0; i < threadCount; i++) { result *= tasks[i].Result; } return result; }
FactNaive: 2.2
FactTree: 1.1
FactFactor: 1.1
FactThreadingTree: 0.9
Вот вы жаловались, что CppCat крайне не популярен и никто его не покупает. Знаете что? Никто просто не знает о его существовании.
Когда я зашёл на страницу, я ожидал увидеть нечто вроде раздела «Other products» (например — в верхнем меню), где бы и находился CppCat. Но — нет.
Игра с «поддержкой EAX» — это каждая первая игра, использующая Direct Sound и запученная на Windows XP. Microsoft просто заменил хардварную обработку звука через EAX на софтварную.
Убитость софтварного микширования звуков в том, что, во-первых, оно тратит ресурсы ЦП а во-вторых — в качестве результата. Дистретная звуковуха это делает лучше в силу специализации, закрытости исходных кодов прошивки (соответственно, фичу, о который ты не знаешь, не воспроизвести), узкоспециализированных процессоров, а так же из-за патентов, находящихся у компаний-разработчиков дискретных звуковых карт (Тот же самый Creative).
WASAPI миксуется софтварно, если я не ошибаюсь. ASIO — это вывод смиксованного звука — «телепорт к аудиовыходу», если можно так выразиться. Для 3D звука он не применим.
В общем от этого шага пострадали именно геймеры с оборудованием лучше среднего. А так же люди, профессионально занимающиеся обработкой звука в Windows
Играл я когда-то в Aion, как раз в момент перехода с Win XP на Win 7 — разница кардинальная. В Win 7 очень не хватает глубины (в буквальном смысле) при расположении звуков в 3D сцене. Значительно труднее понять насколько далеко от тебя находится источник и сзади он или спереди. Про само звучание я даже не говоню.
Подробности есть в этой статье: habrahabr.ru/post/115092/
PureMVC заставляет писать тонны бойлерплейта, которые, вообще говоря, не нужны.
Так же в нём есть куча велосипедов: там написали свой NSNotification и свой NSNotificationCenter.
А уж выуживание объектов по строковому ключу — вообще за гранью добра и зла.
somethingManager = (TCSomethingManager*) [[ECApplicationFacade getInstance] retrieveProxy:[TCSomethingManager NAME]];
лучше, чем
somethingManager = [TCSomethingManager sharedManager];
я не понимаю.
На мой взгляд практический любой велосипед, реализующий MVC-паттерн будет лучше, чем PureMVC. Ну или возможен вариант, что в том проекте, откуда я беру примеры, его просто «неправильно приготовили».
PureMVC ломает типичный подход UIKit, когда UIViewController является контроллером, а UIView, соответственно, вью. В терминах PureMVC UIViewController это View, а UIVIew существует вообще где-то сбоку.
В копилку плохого кода, который порождает PureMVC в
кривыхнеопытных руках: govnokod.ru/9614При этом всём версия под Java для постороннего взгляда кажется значительно вменямее.
Тот же откомментированный «IsLevelRunning» делает не то, что написано в его имени. Это скорее «VerifyIsLevelsRunning» или как-то так. Если бы имя было правильное — комментарий был бы не нужен.
Так что здравый смысл — штука хорошая, но антивирус как страховка — вполне себе.