Чим більше я на це дивлюсь, тим більше кайфую. Боже, який же секс.
Максимально швидкий алгоритм для пошуку всіх простих чисел у діапазоні від 1 до n, який не зїсть усю пам'ять (для чисел 1..n^12 потрібно буде 120 GB, якщо рахувати "класично"), так ще cache-miss free алгоритм.
cp-algorithms.com/algebra/si…
У townfall доречі був відповідний патч на це від Konami, який робить стандартну базову компіляцію на запуску більш глибшою.
На жаль розрахувати усі можливі комбінації не завжди можна. Ви не знаєте чи чи дійсно ігрок колись попаде в відповідні ситуації з певною комбінацією.
Це насправді дуже дороге задоволення. 3к-4к гривень за гру яку пройшов десь років 5 тому, тому скоріш за все фізично буду купувати наступні ігри, з беклогу. Поки витрачати такі суми на вже пройдені і куплені ігри на акаунті - нема фінансових можливостей.
Але відчуття дуже круте.
Мій перший диск на PS5…
Я вже забув як це - мати фізичну копію гри. Блін, це прикольно, хочеться почати збирати фізичну колекцію ігор, які я пройшов на платину. Але відчуття цікаві, щось типу як в дитинстві, коли йшов до дому з радіоринку з новою грою, на яку збирав усе літо…
Зараз прям «прайт тайм» для моєї healthy food.
На районі дістати колу чи щось солодке з напоїв - майже не можливо, 70% позицій в Макдональдсі не доступно, а разом з КФЦ, через постійні атаки, замовити доставку теж проблематично.
Тому зараз на своєму healthy food з салатиками…
Гра вийшла 14 років тому, за часів якуновіча, але в мене все ще психологічна травма від цього логотипу, де хтось робить мінет антропоморфному жирафу...
Сюжет для гри. Україна, наші дні. Герой - хлопець чи дівчина, приходить до дому з роботи, після того як зміг добратися до дому через транспортний колапс, лягає на диван та вирубається.
Прокидається глибоко в ночі, під вибухи та сирену, нічого не розуміючи думає що знову повітряна тривога і їде в сховище.
Поки спускається - починає розуміти що під час війни стався зомбі апокаліпсис…
Щось дуже багато хто поставив 10 з 10. Я хоч і дуже-дуже чекаю на цю гру, але в мене є скепсис відносно UE5. Буквально на декількох відео вже бачив купу разів норм так спайки та просадки, і сподіваюсь що в фіналі такого не буде і то якісь білди під час продакшену.
Моє життя це тепер GTA San Andreas...
Лівий берег відкриється, коли розвалиться банда Грувстріт, і дізнаюсь що Біг Смоук, Райдер та Тенпенні, вбили мати Сі-Джея...
Обожнюю сучасний C++, це дуже безпечна, швидка та виразна мова програмування. Але справа в тому, що я не пишу «стандартний» код.
Я представник Super-C підходу, який дуже популярний в розробці високонавантаженних, низькорівневих, швидкодійних систем, та ігрових рушіїв.
Що до ARM64, то в цілому до 4 книг по асемблеру x86 є ще 3 книги по ARM і які є прямою альтернативою першого списку:
Modern Arm Assembly Language Programming від Daniel Kusswurm
Arm Assembly Language: Fundamentals and Technique від William Hohl
Programming with 64-Bit ARM Assembly Language від Stephen Smith
Декілька книг по ассемблеру x86, які раджу усім розробникам, які хочуть зрозуміти чи швидкі їх програми на С/С++ (і можливо на rust).
The Art of Assembly Language від Randall Hyde
Professional Assembly Language від Richard Blum
Modern X86 Assembly Language Programming від Daniel KussWurm
Computer Systems: A Programmer's Perspective від Randal Hyde
Крашиха мого дитинства… і одна з сумних історій в Покемонах… яка ж вона крута як персонаж..
Ходив слух, що Покемони викликали епілепсію, і десь в Херсоні один хлопець чуть не помер через це… але мені було все одно, після школи біг додому, щоб подивитися нову серію пригод.
Щось посміхнувся та згадав що колись існував такий логотип...
Зараз ніхто навіть не намагається "чисто" рендерити в 4K... фактично це просто не можливо, а отой цирк з цим логотипом, які малювали на чому тільки можна - народ вже давно розкусив і не ведеться на це...
Simplygon - це ААА стандарт для автоматичного процесингу 3D асетів. Окрім того він вирішує рутинні завдання 3D-художників та технічних арт-директорів по створенню LOD, оптимізації UV, атрибутів та створенню імпостерів.
simplygon.com
Можна змінити тип даних цих атрибутів.
Сучасні графічні API (Vulkan, DirectX 12, OpenGL, Metal) та GPU, вміють автоматично конвертувати більшість цих форматів при зчитуванні.
GPU автоматично перетворить uint8_t (0..255) на float (0.0..1.0) без додаткових обчислень. Half Float також автоматично конвертується у float вершини. А і формат RGB10A2_SNORM або RGB10A2_UINT підтримується апаратно більшістю відеокарт.
Що ми можемо зробити з цим? Запакувати атрибути.
Vertex Attribute Packing - це техніка зменшення розміру структури однієї вершини (stride) у байтах та оптимізації її вирівнювання в пам'яті. Наша ціль - зменшити навантаження на шину VRAM, підвищити щільність запису даних у кеш-лініях (L1/L2) та прискорити етап Vertex Fetch на GPU.
Тому, чим більше атрибутів, тим більше розмір вершини в буфері вершин. А чим більше розмір вершини, тим менше вершин ми можемо покласти в кеш GPU, і тим більше нам потрібно буде чекати на завантаження наступного набора вершин з памʼяті у кеш.
Ігрові моделі мають велику кількість атрибутів (даних у вершині). Я навів найпопулярніші в ігровій розробці. Але ще є велика кількість, наприклад атрибут маси вершини на реагування до вітру, чи «жорсткість» вершини (щоб описати дані для фізики мʼяких тіл, як буде вести себе вершина моделі).
Але в реальності, тривімирних моделей з усього одним атрибутом позиці - майже не існує. Більшість ігрових моделей мають декілька атрибутів вершин. Наприклад: UV координату (для накладання текстур), колір вершини, нормаль (для розрахунку світла), бітангент (для розрахунку затінення), та атрибути на ваги скелету, якщо це анімована модель.
Атрибут позиція, це собственно найголовніший атрибут у вершин. Усі вершини в трьохвимірного світу мають мати якусь позицію. Тому вершина з атрибутом позиції в памʼяті зберігається як послідовність з трьох координат (XYZ) у типі float.
Виходить що одна вершина займає 12 байт.
Тому ми повинні зайнятися реорганізацією порядку вершин - Vertex Fetch Optimization.
Вирівняти послідовність вершини відносно розміру кешу, та зробити так, щоб мінімізувати довільний доступ до памʼяті.
В такому підході в нас є два масиву. Масив вершин (Vertex Buffer), в якому зберігаються усі вершини моделі. Та масив індексів вершин (Index Buffer), якій описує послідовність того, як вершини формують трикутники. GPU іде по буферу індексів та вибирає вершини з відповідним індексом з буферу вершин.
Це можна оптимізувати наступним методом - видалити усі повторювані вершини, залишити лише унікальні вершини, та зробити список з індексів вершин, по якому GPU буде йти, та малювати трикутники, вибираючи вершини по індексу з масиву вершин.
Виходить, що щоб намалювати один прямокутник, нам потрібно 6 вершин, по три на кожний трикутник. А тепер уявіть якщо ваша модель складається з тисячи прямокутних полігонів. В цьому варіанті кількість вершин і даних - надмірна. Деякі вершини повторюються декілька разів.
Але це насправді дуже важливо, і важливо через те, як GPU оброблює трикутники і малює їх.
3D модель в відео памʼяті це просто масив вершин, GPU іде по цьому масиву і послідовно малює трикутники.
Багато з вас знають про те, що художникі оптимізують моделі використовуючи методи ретопології, і намагаються використовувати найменшу кількість полігонів при найвищій якості деталізації. Це дуже дієвий спосіб, тому що чим менше полігонів - тим швидше все малюється.
Один з важливіших моментів оптимізації моделей в відеоіграх - це оптимізація моделі з точки зору даних. Про це дуже мало говорять, але це один з найважливіших моментів, коли вам треба малювати дуже-дуже багато полігонів, і дуже швидко.
Тому погнали швидкий тред про це.
А в цілому Асерола зібрав в цьому відео усі технології древніх шизів. Часів PS3, коли ігри намагались бути кінематографічними, але через залізо не могли ними бути. Через що вигадали купу "хаків" щоб усе то зафейкати. Так званий blurry період в історії відеоігор.
Я народився в Сімферополі, батько працював інженером на заводі Фотон, відомому заводі, який робив телевізори в совку.
Треба буде в батька запитати, чому так вийшло що в нас був львівський Електрон ц380д і де він його взяв.
І ж скільки спогадів з цим телевізором…