CG & C++ blog
57 subscribers
13 photos
2 files
129 links
Краткий обзор публикаций, презентаций, докладов по графике и C++
Download Telegram
Список тэгов

Программирование
#cpp - C++
#cpu_opt - оптимизации для ЦП
#atomics - атомарные операции, работа с кэшем
#threading - многопоточка
#lockfree - Lock free, wait free алгоритмы
#backend - сервера
#ecs - entity component system
#dod - data oriented design, низкоуровневая оптимизация

Графические API, работа на низком уровне
#gpu_opt - оптимизации для ГПУ
#gapi - все графические API
#vulkan #vk - Vulkan API
#metal - Apple Metal
#opengl #gl - OpenGL
#dx - DirectX 11, 12

Рендеринг
#cg - все что связано с компьютерной графикой
#proc_gen - процедурная генерация
#games - обзор технологий из игр

Другое
#news - новости по теме
#blog - новости по моим разработкам
#hw - все что связано с компьютерным железом
#desktop #win #mac #linux - относится к ПК, ноутбуки
#mobile #android #ios - относится к мобильным платфомам
#vr - VR, виртуальная реальность
Breaking down barriers
Статья из 6 частей, расказывается как работает GPU, как происходят синхронизации.
В 5й части рассказывают про работу драйвера windows на разных версиях ОС.
В 6й части есть примеры с async compute.
#gpu_sync #dx #vk
Command queues
Моя статья по асинхронным очередям на GPU.
Показаны async compute, ascync transfer очереди для дискретных GPU и только async compute для мобильных.
Демо позволяет покрутить ползунки и увидеть как меняется производительность.
Особенности на Mac M1:
* на Metal получается более +25% при использовании Double buffering, без него не параллелится.
* на MoltenVk async compute наоборот дает потерю до 10%.
Intel GPU на dx12 поддерживает async compute несмотря на то, что он не поддерживается в железе, и дает до +50%, а на Vulkan разницы нет, похоже что драйвер на dx12 хорошо эмулирует очереди.
На Android девайсах так и не получилось распараллелить, хотя для Mali GPU есть примеры, где получается до +10%.
#gpu_sync #vk #dx #metal