Треугольник из пикселей: Пиксель арт Triangle Tree, пиксель арт, оранжевый, треугольник, другие png

Содержание

Пиксель арт Triangle Tree, пиксель арт, оранжевый, треугольник, другие png

Пиксель арт Triangle Tree, пиксель арт, оранжевый, треугольник, другие png

теги

  • оранжевый,
  • треугольник,
  • другие,
  • конус,
  • линия,
  • пиксель арт,
  • транссексуалы,
  • дерево,
  • png,
  • прозрачный,
  • бесплатная загрузка

Об этом PNG

Размер изображения

1000x1350px

Размер файла

45.37KB

MIME тип

Image/png

Скачать PNG ( 45.37KB )

изменить размер PNG

ширина(px)

высота(px)

Лицензия

Некоммерческое использование, DMCA Contact Us

  • Дорожный конус Green Line, доход, шляпа, треугольник, оранжевый png
    600x769px
    47. 03KB

  • Конус, дизайн, оранжевый, арт, çakır png
    1000x1216px
    60.53KB

  • Кокосовая пальма, Кокосовая пальма, еда, ветка дерева, оранжевый png
    2000x2000px
    712.24KB

  • оранжевый и серый транспортный конус, транспортный конус, транспортный конус, клипарт, оранжевый, продукт png
    5505x7000px
    3.02MB

  • Конус движения, Конусы, Форматы файлов, оранжевый, инкапсулированный PostScript png
    800x800px
    128.94KB

  • красный треугольник, прямоугольный треугольник, красный треугольник, угол, фотография, треугольник png
    1152x1024px
    22.22KB

  • org/ImageObject»>

    оранжевый воздушный шар, воздушный шар оранжевый, оранжевый воздушный шар, данные, вечеринка, парад png
    2224x3720px
    846.03KB

  • Футболка солнцезащитные очки, Thug Life, солнцезащитные очки, угол, очки, бандит png
    512x512px
    3.89KB

  • Абстрактная живопись, Дерево, Эффект дерева для фона, текстура, угол, дизайн интерьера png
    8000x8000px
    8.98MB

  • Праздничная шапка ко дню рождения Computer Icons, праздничная шапка, 3D компьютерная графика, шляпа, праздники png
    512x512px
    14.45KB

  • Транспортный конус Безопасность дорожного движения, конус, оранжевый, другие, шоссе png
    2400x1821px
    818.99KB

  • org/ImageObject»>

    желтый треугольник, треугольник желтый пирамидный узор, треугольник, угол, оранжевый, форма png
    512x512px
    9.75KB

  • дорожный конус, угол, треугольник, другие png
    512x512px
    8.31KB

  • Пиксель арт Рисование, наруто, фотография, мультфильм, наруто png
    1024x1024px
    595.5KB

  • разноцветная праздничная шапка, праздничная шапка, праздники, шляпа, фотография png
    599x599px
    58.66KB

  • зеленая стрелка, зеленая стрелка, зеленая стрелка, разное, угол, треугольник png
    600x457px
    17.95KB

  • огонь, кальцифер, мастер рисования Howl Studio Ghibli, м футболки, Разное, оранжевые, другие png
    600x700px
    302. 45KB

  • Мультипликационный взрыв, Спрайт, Анимация, Рисование, Пиксель арт, Спецэффекты, WALK CYCLE, Компьютерная графика, анимация, круг, компьютерная графика png
    1920x1440px
    3.06MB

  • огонь, пиксель арт огонь пламя, пиксель арт, текст, фотография, прямоугольник png
    665x945px
    24.34KB

  • Галстук-бабочка Компьютер Иконки, костюм, угол, треугольник, галстук png
    300x980px
    18.76KB

  • Пиксель арт, монета Марио, текст, прямоугольник, другие png
    618x618px
    4.38KB

  • зеленый Mincraft меч, Майнкрафт Алмазный Меч Эндерман Той, мины, угол, мины, оружие png
    1000x1000px
    18. 63KB

  • Пиксель арт, Нян Кэт, текст, оранжевый, другие png
    600x600px
    13.95KB

  • Логотип Линия Бренд Шрифт, линия, угол, текст, оранжевый png
    1420x1217px
    16.58KB

  • Minecraft Видеоигра Здоровье, результат игры, текст, прямоугольник, сердце png
    900x900px
    70.98KB

  • Оранжевый учебный конус искусства, Конус движения Безопасность дорожного движения, Go, зеленый, зеленый свет, свет, значок движения, разное, игра, оранжевый png
    481x600px
    74.17KB

  • Кавай Пиксель арт, другие, угол, прямоугольник, треугольник png
    512x512px
    46.02KB

  • org/ImageObject»>

    Общий плющ Vine Muscadine виноградное растение, Vines Plants s, зеленые листья иллюстрации, лист, филиал, завод Стебель png
    1024x3072px
    1.47MB

  • Гора 3D моделирование, горная вершина, коричневая гора с растением, другое, компьютерная графика 3D, пейзаж png
    715x1417px
    1.14MB

  • Конус движения, конусы, Разное, оранжевый, другие png
    4116x4542px
    308.66KB

  • Дивали фейерверк фейерверки, фейерверки с, угол, фотография, треугольник png
    512x1560px
    89.86KB

  • Египетские пирамиды форма квадрат пирамида, пирамида, угол, треугольник, оранжевый png
    897x617px
    16.06KB

  • org/ImageObject»>

    желтый, оранжевый и красный конфетти, Треугольный круг, симметрия на рабочем столе, частицы, текст, компьютер, оранжевый png
    1350x734px
    200.07KB

  • персиковая и белая коробка с рисунком, Milk Pastel Aesthetics, молоко, еда, текст, прямоугольник png
    500x580px
    3.3KB

  • Здоровье Видеоигры Pixel Art Bar, здоровье, игра, прямоугольник, сердце png
    512x512px
    54.88KB

  • Fortnite Twitch Logo Компьютерные иконки Потоковое мультимедиа, стример, разное, угол, текст png
    2048x2048px
    42.65KB

  • праздничная шапка, праздничная шапка, день рождения, праздничная шапка, праздники, шляпа, апельсин png
    1181x2000px
    159.44KB

  • org/ImageObject»>

    красная иллюстрация сердца, красное сердце карри, сердце без фона, любовь, логотип, красный png
    700x700px
    13.29KB

  • Рок-коллаж иллюстрации, Концепт-арт Видеоигра Платформа игры Арт-игра, камень, игра, лист, камень png
    720x1440px
    945.42KB

  • Прозрачность и прозрачность Pixel art Речи воздушный шар, текст, угол, текст, прямоугольник png
    960x640px
    3.98KB

  • Goku Pixel Art Dragon Ball, пикселей, вымышленный персонаж, пиксели, пикселизация png
    460x600px
    13.46KB

  • Рождественская елка Рождественская открытка Иллюстрация, Креатив Треугольник Рождественская елка, декор, ветвь дерева, треугольник png
    2362x2362px
    21.29MB

  • org/ImageObject»>

    пиксельная иллюстрация пингвина, Pixel Penguin Pixel art, пиксельная графика, игра, животные, текст png
    1050x1400px
    47.12KB

  • Дерево, пиксель, биом, 16 бит, символ png
    580x800px
    31.92KB

  • Щупальца Squidward Мистер Крабс Патрик Стар Сэнди Чикс, другие, другие, вымышленный персонаж, обувь png
    607x846px
    81.3KB

  • Хвойная шишка Сосна, шишка, Разное, фотография, другие png
    800x876px
    855.3KB

  • Pixel Bow Pixel art Лук и стрела, пиксель, разное, угол, текст png
    1681x772px
    307.18KB

  • зеленое лиственное растение, рождественская сосна, рождественская сосновая кайма, клипарт, филиал, трава png
    8000x3248px
    8. 1MB

  • 8-битный Покемон Pixel art Poké Ball, другие, прямоугольник, другие, биткойн png
    512x512px
    4.3KB

  • Пиксель арт, кнопка запуска, текст, логотип, другие png
    770x360px
    8.48KB

Живые пиксели . Треугольник Паскаля.

?

Живые пиксели . Треугольник Паскаля.
moj_golos
November 27th, 2016

Одна клетка:
Пустой Пиксель- ничего не происходит.
Активный Пиксель — становится пустым на первом ходу.
Две клетки:
В первом случае наблюдаем маятник — последовательное движение живого Пикселя вправо-влево. Похоже на Пралайю Космоса

Во втором случае два Живых Пикселя составляют простейшую статическую фигуру.
Три клетки:
Все фигуры исчезают.
Четыре клетки: Она же свастика

Все фигуры возвращаются в начальное состояние. Это простейший случай сохранения наследственности. ДНК
Анализ вариантов из двух рядов
В этом случае элементы либо становятся статическими, либо мигают как сигнальные лампочки.

3 Ряда. Это уже Троица.Тримурти
Фигуры делятся и бегают вправо-влево
Квадраты — квадратные матрицы — поля с одинаковым количеством колонок и рядов. Некоторые квадраты дают уникальные возможности полного обращения рисунка в начальное состояние.
Квадрат 2×2 содержит два «мигающих» варианта, переходящих один в другой, и два статических.

4×4
Встречаются фигуры, обладающие обратимостью. Большинство указанных фигур необратимы, при этом превращаются в обратимые фигуры с периодом 6 — у некоторых период 3, ввиду симметричности.

3×3 — все варианты исчезают
5×5 — пиксель в углу превращается в конструкцию с периодом обращения 4
6×6 – 1 активный пиксель в углу

Обратимость за 14 ходов. Вспомните про 14 частей тела Осириса
8×8 – 1 активный пиксель в углу

Чётные квадраты могут быть использованы на практике для шифрования. Найти «обратный» алгоритм, чтобы выяснить предыдущее состояние паттерна «Живых Пикселей» очень сложно, не исключено что практически невыгодно. При этом «прямой прогон» любого изображения в обратимом чётном квадрате даст начальное изображение через большое, заранее известное число итераций
ДНК
Разбирая одномерное, то есть линейное поле, можно имитировать копирование ДНК и сохранение наследственной информации. Любая последовательность живых пикселей со временем повторяется и размножается. В данном случае записано число 19 в двоичном виде: 1011.
На четвертом шагу цифра повторяется, на 8-ом — повторяется еще раз, плюс образуется зеркальная фигура слева. На 24-ом ходу мы видим две фигуры из 8-го хода. Цифра 1011 видна в правой половине каждой из них. Таким образом, наблюдаем наследование родительских признаков, подобно тому, как это происходит в ДНК.

Элемент — набор пикселей, лежащих рядом. Элементы раскрашены в зависимости от количества пикселей в них.

За один ход добавляется один элемент в один пиксель в случайное место на поле.
При столкновении элементов с одинаковым числом пикселей они образуют новый элемент, на один пиксель больше.
В природе — появление более крупного организма при достаточном количестве более мелких
При столкновении элементов разного размера, остается лишь самый большой
В природе — борьба за выживание, пищевая цепочка
Существование элементов ограниченно по времени, которое прямо пропорционально количеству пикселей в элементе.
В природе — время жизни организмов ограничено и также есть зависимость времени жизни от среднего размера особи в виде.
«Эволюцию» можно рассматривать как развитие отдельных живых существ, хотя правильнее рассматривать её как развитие видов. Каждый элемент — есть определённый вид организмов.
Для удобства элементы из одного пикселя показаны зелёным, из двух — тёмно-красным, из трёх — светло-красным, из четырёх — синим. Наиболее распространёнными являются элементы из одного и двух пикселей. На рисунке видно, что элемент из четырёх пикселей всего один. Наиболее крупные элементы живут долго, затем надолго исчезают — как динозавры.
http://arbuz.uz/u_treug.html
Вот как мы приходим и к Треугольнику Паскаля и Кривой Серпинского в Теории Вероятности

Вот это фигура Дракона. Она же сходится со строением созвездия Орион,где живут Рептилоиды

Остальные виды клеточных автогматов вы может изучить здесь http://www.mirekw.com/ca/rullex_wlif.html

Оригинал записи и комментарии на LiveInternet.ru

Наконец-то я понял, почему камеры на iPhone образуют треугольник: мне в этом помог Pixel 6 Pro

Мы все видели iPhone, и если выемка стала самой узнаваемой чертой дизайна Apple за последние несколько лет, то массив камер на задней панели iPhone, безусловно, является вторым наиболее ярким элементом эстетического дизайна телефона.

Однако внешний вид — это еще не все. Функциональный дизайн, возможно, даже важнее. Привлекательное оборудование сначала привлечет ваше внимание, но хорошо функционирующий продукт — это то, что поможет удержать ваше внимание и заинтересовать вас, чтобы вы возвращались снова и снова. Это функциональный дизайн.

iPhone 12 и iPhone 13: почему у некоторых iPhone основная камера находится сверху, а у некоторых снизу?

Мы много раз обсуждали тему, почему камеры на iPhone расположены именно так.

Однажды мы говорили о том, почему основная камера iPhone 12 Pro была размещена в верхней части треугольника, в то время как остальные серии iPhone 12 располагали свои основные камеры внизу.

В другой раз я написал о

Flaregate, и предположил, что новое диагональное расположение камер на

iPhone 13 и

13 Mini может решить проблему бликов, которая беспокоила iPhone в течение многих лет.

Я ошибся. Камеры iPhone 13 и 13 Mini расположены по диагонали просто потому, что датчики стали намного больше, чем раньше. В них используются те же камеры, что и в iPhone 12 Pro Max от Apple, со стабилизацией смещения сенсора и физически большими сенсорами. Что еще более важно, Flaregate не была решена, но стала лучше.

Гениальный дизайнер треугольной камеры iPhone от Apple

Вопрос, на который у нас не было ответа, — «почему камеры iPhone образуют треугольник». И здесь фактор «недостатка места» не играл бы такой большой роли, поскольку еще в 2019 году, когда Apple представила первый трехкамерный iPhone 11 Pro, они могли расположить камеры вертикально, как на Huawei P30 Pro или горизонтально, как на Galaxy S10.

Технически оставшееся место в шасси было бы таким же — просто нужно было бы выбрать другое расположение компонентов. Но нет! Apple пошла на треугольник. И, как выясняется, причина этого настолько логична и проста, что по иронии судьбы ее так трудно увидеть.

Вы заметили, что iPhone 12 Pro и iPhone 13 Pro обладают этой волшебной способностью плавно переключаться между разными объективами? Что ж, это было бы невозможно, если бы расположение камер на iPhone не образовывало треугольник.

У меня очень плохо с математикой и геометрией, но не нужно быть гением, чтобы знать, что стороны равностороннего треугольника имеют одинаковую длину. Следовательно, расстояние между ракурсами (камеры iPhone) одинаковое или примерно одинаковое. Я не настолько ботаник, чтобы измерить это.

Почему треугольная ориентация камеры может помочь при переключении между объективами

Независимо от того, на какую камеру вы переключитесь, вы получите наименьшее возможное изменение композиции. Опять же — расстояние между камерами сокращается до минимума, и все равно, на какой объектив вы переключаетесь или с какого.

Таким образом, вы получите более плавные переходы как в режиме фото, так и в режиме видео. Конечно, Apple также применила некоторую программную магию в этом аппаратном трюке — иначе переход не был бы таким хорошим, как он есть.

Обнаружение того, почему камеры на iPhone образуют треугольник: Pixel 6 Pro помог мне это сделать

Но я еще не рассказал вам, как я пришел к выводу о треугольной камере iPhone. По иронии судьбы, это произошло, когда я играл с новым Pixel 6 Pro от Google.

Смотрите — панель камеры на задней панели Pixel 6 Pro выглядит совершенно уникально. В целом это привлекательный телефон, особенно в солнечном цвете Sorta. Но что становится очень очевидным, когда вы делаете несколько фотографий с помощью Pixel 6 Pro, так это то, что, в отличие от Apple, Google, похоже, недостаточно продумала функциональный дизайн Pixel.

Переключение объектива камеры Pixel 6 Pro

Крайняя слева камера Pixel 6 Pro является основной. Затем у нас есть сверхширокоугольный шутер посередине и 4-кратный зум-объектив перископа справа. Как вы можете заметить по полученным нами записям экрана, это приводит к заметным изменениям в композиции изображения при переключении между объективами.

Почему? Что ж, камера запускается с основным шутером по умолчанию, но из-за горизонтального расположения объективов и решения Google разместить основную камеру в крайнем левом углу, а зум-в крайнем правом, при переходе от 1X к 4X , вы получаете этот тонкий, но заметный сдвиг изображения слева направо или наоборот.

И, конечно же, поскольку у нас есть третья камера на борту, непоследовательность и резкое переключение объектива становятся еще более преувеличенными, когда в дело вступает сверхширокоугольный объектив.

Расположение камер Galaxy S21 Ultra: Копирование Huawei окупается

Вам может быть интересно, как вы решаете проблему переключения объектива на телефоне с еще большим количеством камер и большим фокусным расстоянием. К счастью, у Samsung есть прекрасный пример для нас в лице Galaxy S21 Ultra, который поставляется со сверхширокой, основной, 3-кратной и 10-кратной камерами.

Если бы Samsung пошел по пути Pixel 6 Pro, это создало бы еще большие различия, чем на телефоне Google, поскольку теперь при переключении со сверхширокоугольной камеры на камеру 3X или 10X это сместило бы ваше поле зрения далеко, далеко влево или вправо.

Очевидно, что вы не можете сформировать треугольник с четырьмя углами или камерами, поэтому Samsung не может позаимствовать идею Apple. Но что вы можете сделать, так это расположить их таким образом, чтобы переключение объективов было максимально плавным. Именно здесь Samsung позаимствовал расположение камер у Huawei P40 Pro+ — первого телефона с 10-кратным перископическим зум-объективом и камерой с 3-кратным зумом.

Компания Samsung нашла золотую середину, разместив 3-кратную камеру вне оси, рядом с основным стрелком, который находится между сверхширокоугольной камерой и 10-кратной камерой перископа. Таким образом, камеры создают неровную форму, но если бы вы разобрали Galaxy, вы бы поняли, что Samsung удалось сформировать два меньших треугольника.

Более того, линзы расположены логично, так что когда вы переходите от 0,5x к 1x, а затем к 3x и 10x, они перемещаются примерно на такое же расстояние, как если бы вы переходили от 0,5x к 3x или от 1x к 10x. Единственный заметный сдвиг в расстоянии между сверхширокой и 10-кратной камерами, но это абсолютно нормально. Если у вас есть возможность использовать телефон с несколькими камерами, вы должны знать, что увеличение с 0,5x до 10x, особенно для фотографий, встречается редко. Самсунг это знает.

В конце концов…

Итак, вывод здесь довольно прост. Если у вас когда-либо возникали сомнения относительно того, как принимаются решения о продукте в Apple, больше не удивляйтесь! А также, если вы когда-нибудь задумывались, как Google подошла к дизайну Pixel 6, компания явно предпочла внешний вид функциональности. Ну, по крайней мере, в случае с серией Pixel 6.

Это неправильно? Не обязательно. Как упоминалось в начале, внешний вид привлечет вас к определенному продукту, и если Google хотел, чтобы вы купили Pixel 6 Pro, потому что дизайн задней панели выглядит уникальным и привлекательным, это именно та жертва, на которую компания должна была пойти, чтобы достичь его цель.

Но Apple — компания, которая ставит функциональный дизайн на первое место или, по крайней мере, на один уровень с эстетикой. iPhone всегда имел репутацию «самого простого» телефона в использовании. Теперь, по той или иной причине, я не думаю, что это обязательно верно для всех, но я не могу отрицать, что iPhone был создан для того, чтобы сложные задачи казались простыми.

Вот несколько примеров:

  • Как ночной режим включается автоматически, даже если вам не нужно об этом думать
  • Как Face ID разблокирует ваш телефон без каких-либо действий

И да, даже когда кажется, что Apple принимает некоторые (противоречивые) решения вместо вас, например, замедляет работу вашего телефона, чтобы ваша батарея могла работать дольше — для этого решения есть причина. Apple пыталась исправить одно, но сломала другое. Одобряю ли я

Batterygate? Конечно, нет. Это лишь показывает, что даже Apple может ошибаться в поисках баланса.

Там, где эстетический и функциональный дизайн встречаются и сливаются воедино, конечный пользователь чувствует себя полноценным. И по этой причине, как бы я ни любил Pixel 6 Pro, я должен признать, что Google пошел на компромисс. Это нарушение сделки? Точно нет. Pixel 6 Pro может не плавно переключаться между объективами, но у него есть звездная система камер, которая будет доминировать над iPhone в нескольких ключевых областях.

Если вы хотите узнать больше, ознакомьтесь с нашим сравнением камер Pixel 6 Pro, iPhone 13 Pro Max и Galaxy S21 Ultra. Спойлер: это близко.

Жизнь треугольника — логический конвейер NVIDIA
возможно, пришло время обновить основную графическую архитектуру под ним. Ферми был первым
Графический процессор NVIDIA, реализующий полностью масштабируемый графический движок, и его базовая архитектура могут быть
обнаружены как у Кеплера, так и у Максвелла. Следующая статья и особенно «сжатый
изображение конвейера знаний» ниже должно служить в качестве учебника, основанного на различных общедоступных
материалы, такие как технические документы или руководства GTC по архитектуре графического процессора.

эта статья
фокусируется на графической точке зрения на то, как работает GPU, хотя некоторые принципы, такие как
то, как выполняется программный код шейдера, одинаково для вычислений.

  • Fermi Whitepaper
  • Kepler Whitepaper
  • Maxwell Whitepaper
  • Fast Tessellated Rendering on Fermi GF100
  • Programming Guidelines and GPU Architecture Reasons Behind Them

Pipeline Architecture Image

GPUs are super parallel work distributors

Why вся эта сложность? В графике нам приходится иметь дело с усилением данных, которое создает множество
переменных рабочих нагрузок. Каждый вызов отрисовки может генерировать разное количество треугольников. Количество
вершин после отсечения отличается от того, из чего изначально были сделаны наши треугольники. После отбраковки задней грани и глубины не всем треугольникам могут понадобиться пиксели на экране. Размер экрана треугольника может означать, что он требует миллионы пикселей или вообще не требует.

Как следствие, современные графические процессоры позволяют своим примитивам (треугольникам, линиям, точкам) следовать логическому конвейеру, а не физическому конвейеру. В старые времена, до появления унифицированной архитектуры G80 (вспомните аппаратное обеспечение DX9, ps3, xbox360), конвейер был представлен на чипе с различными этапами, и работа проходила через него один за другим. G80, по сути, повторно использовал некоторые единицы для вычислений как вершинных, так и фрагментных шейдеров, в зависимости от нагрузки, но по-прежнему имел последовательный процесс для примитивов/растеризации и так далее. С Fermi конвейер стал полностью параллельным, что означает, что чип реализует логический конвейер (шаги, через которые проходит треугольник) за счет повторного использования нескольких механизмов на чипе.

Допустим, у нас есть два треугольника A и B. Части их работы могут быть на разных этапах логического конвейера.
A уже был преобразован и нуждается в растрировании. Некоторые из его пикселей могут работать с пиксельным шейдером.
инструкции уже есть, в то время как другие отбрасываются буфером глубины (Z-cull), другие могут быть уже
записываются в фреймбуфер, а некоторые могут ждать. И рядом со всем этим, мы могли бы получить
вершин треугольника B. Таким образом, хотя каждый треугольник должен пройти логические шаги, многие из них могут быть
активно перерабатываются на разных этапах их жизни. Задача (получить треугольники drawcall на экране)
разделить на множество более мелких задач и даже подзадач, которые могут выполняться параллельно. Каждая задача назначена на
ресурсы, которые доступны, что не ограничивается задачами определенного типа (параллельное затенение вершин
к затенению пикселей).

Представьте реку, которая расходится веером. Параллельные конвейерные потоки, независимые друг от друга, каждый
на своей собственной временной шкале некоторые могут разветвляться больше, чем другие. Если бы мы кодировали блоки графического процессора цветом на основе треугольника или вызывали отрисовку, над которой он сейчас работает, это были бы многоцветные мерцающие огни 🙂

Архитектура графического процессора

Поскольку Fermi NVIDIA имеет аналогичную архитектуру. Существует Giga Thread Engine , который управляет всей текущей работой. Графический процессор разделен на несколько GPC (кластер обработки графики), каждый из которых имеет несколько SM (потоковый мультипроцессор) и один растровый процессор . В этом процессе существует множество взаимосвязей, в первую очередь Crossbar , который позволяет выполнять перенос работы между GPC или другими функциональными блоками, такими как подсистемы ROP (блок вывода рендеринга).

Работа, о которой думает программист (выполнение шейдерной программы), выполняется на SM. Он содержит множество ядер , которые выполняют математические операции для потоков. Один поток может быть вершинным или пиксельным шейдером.
призыв например. Эти ядра и другие блоки управляются Warp Scheduler , которые управляют группой
из 32 потоков в качестве основы и передать инструкции для выполнения диспетчерским подразделениям . Логика кода обрабатывается планировщиком, а не внутри самого ядра, которое просто видит что-то вроде «суммировать регистр 4234 с регистром 4235 и сохранить в 4230» от диспетчера. Ядро само по себе довольно тупое по сравнению с процессором, где ядро ​​довольно умное. GPU выводит интеллектуальность на более высокий уровень, он выполняет работу всего ансамбля (или нескольких, если хотите).

Сколько из этих блоков фактически находится на GPU (сколько SM на GPC, сколько GPC…) зависит от
сама конфигурация чипа. Как вы можете видеть выше, GM204 имеет 4 GPC с каждым 4 SM, но Tegra X1, например, имеет 1 GPC и 2 SM, оба с дизайном Maxwell. Сам дизайн SM (количество ядер, блоков команд, планировщиков…) также менялся с течением времени от поколения к поколению (см. первое изображение) и помог сделать чипы настолько эффективными, что их можно масштабировать от высокопроизводительного настольного компьютера до ноутбука. мобильный.

Логический конвейер

Для простоты некоторые детали опущены. Мы предполагаем, что вызов отрисовки ссылается на некоторый index-
и вершинный буфер, который уже заполнен данными и живет в DRAM графического процессора и использует только вершины.
и пиксельный шейдер (GL: фрагментный шейдер).

  1. Программа выполняет вызов отрисовки в графическом API (DX или GL). Это достигает драйвера в какой-то момент, что делает немного
    проверка, чтобы проверить, являются ли вещи «законными», и вставляет команду в кодировке, читаемой графическим процессором, внутри буфер .
    Здесь может возникнуть множество узких мест на стороне ЦП, поэтому важно, чтобы программисты хорошо использовали API и методы, которые используют мощь современных графических процессоров.
  2. Через некоторое время или явных вызовов «сброса» драйвер буферизировал достаточно работы в pushbuffer и отправляет ее на
    обрабатывается GPU (с некоторым участием ОС). Хост-интерфейс графического процессора принимает команды, которые обрабатываются через внешний интерфейс .
  3. Мы начинаем распределение нашей работы в примитивном распределителе , обрабатывая индексы в индексном буфере и генерируя рабочие пакеты треугольников, которые
    мы отправляем в несколько GPC.
  4. Внутри GPC Poly Morph Engine одного из SM обеспечивает выборку данных вершин из индексов треугольников ( Vertex Fetch ).
  5. После получения данных внутри SM запланированы варпы из 32 потоков, которые будут работать над вершинами.
  6. Планировщик варпа СМ выдает инструкции для всего варпа по порядку. Потоки выполняют каждую инструкцию в режиме блокировки и могут быть замаскированы индивидуально, если они не должны активно ее выполнять. Причин для такой маскировки может быть несколько. Например, когда текущая инструкция является частью ветви «if (true)», а данные, относящиеся к потоку, оценены как «false», или когда критерий завершения цикла был достигнут в одном потоке, но не в другом. Следовательно, наличие большого количества расхождений ветвей в шейдере может значительно увеличить время, затрачиваемое на все потоки в варпе. Нити не могут продвигаться по отдельности, только как варп! Деформации, однако, независимы друг от друга.
  7. Инструкция варпа может быть выполнена сразу или может занять несколько ходов отправки. Например, SM обычно
    имеет меньше единиц для загрузки/сохранения, чем выполнение основных математических операций.
  8. Поскольку некоторые инструкции выполняются дольше, чем другие, особенно загрузка памяти, планировщик деформации
    может просто переключиться на другой варп, не ожидающий памяти. Это ключевая концепция того, как GPU
    преодолевают задержку чтения памяти, они просто переключают группы активных потоков. Чтобы сделать это
    переключение очень быстрое, все потоки, управляемые планировщиком, имеют свои собственные регистры в файле регистров.
    Чем больше регистров требуется шейдерной программе, тем меньше места занимают потоки/деформации. Чем меньше деформации мы можем
    переключаться между ними, тем менее полезная работа, которую мы можем выполнять, ожидая завершения инструкций (в первую очередь извлекается из памяти).
  9. Как только варп выполнил все инструкции вершинного шейдера, его результаты обрабатываются Viewport Transform . Треугольник обрезается объемом пространства отсечения и готов к растеризации. Мы используем кэши L1 и L2 для всех этих межзадачных коммуникационных данных.
  10. Теперь становится интересно, наш треугольник вот-вот расколется и, возможно, покинет GPC, в котором он сейчас живет. Ограничивающая рамка треугольника используется для определения того, какие растровые механизмы должны работать с ним, поскольку каждый механизм покрывает несколько фрагментов экрана. Он отправляет треугольник одному или нескольким GPC через Перекладина рабочего распределения . Теперь мы фактически разделили наш треугольник на множество более мелких задач.
  11. Настройка атрибута в целевом SM гарантирует, что интерполянты (например, выходные данные, которые мы сгенерировали в вершинном шейдере) находятся в формате, удобном для пиксельного шейдера.
  12. Raster Engine GPC работает с полученным треугольником и генерирует информацию о пикселях для тех
    разделы, за которые он отвечает (также обрабатывает отбраковку задней поверхности и Z-отбор).
  13. Снова мы объединяем 32 пиксельных потока, или, лучше сказать, 8 пиксельных квадратов 2×2, что является наименьшим
    unit, с которым мы всегда будем работать в пиксельных шейдерах. Этот квадрат 2×2 позволяет нам вычислять производные
    для таких вещей, как фильтрация текстуры MIP-карты (большое изменение координат текстуры в квадроциклах вызывает
    более высокий мип). Те потоки в квадрате 2×2, места выборки которых на самом деле не покрывают треугольник, маскируются (gl_HelperInvocation). Один из планировщиков деформации локального SM будет управлять задачей затенения пикселей.
  14. Та же самая игра с инструкциями планировщика деформации, которая была у нас на логическом этапе вершинного шейдера, теперь
    выполняется в потоках пиксельного шейдера. Пошаговая обработка особенно удобна, потому что
    мы можем получить доступ к значениям внутри пиксельного квадрата почти бесплатно, так как все потоки гарантированно
    чтобы их данные вычислялись до одной и той же точки инструкции (NV_shader_thread_group).
  15. Мы уже на месте? Наш пиксельный шейдер почти завершил расчет цветов для записи в rendertargets.
    и у нас также есть значение глубины. На этом этапе мы должны принять во внимание исходный порядок треугольников в API.
    прежде чем мы передадим эти данные в одну из подсистем ROP (блок вывода рендеринга), которая сама по себе имеет несколько
    единицы РОП. Здесь выполняется проверка глубины, смешивание с фреймбуфером и так далее. Эти операции должны происходить
    атомарно (одновременно устанавливается один цвет/глубина), чтобы гарантировать, что у нас нет цвета одного треугольника и глубины другого треугольника.
    значение, когда оба покрывают один и тот же пиксель.
    NVIDIA обычно применяет сжатие памяти, чтобы уменьшить требования к пропускной способности памяти, что увеличивает «эффективную» пропускную способность (см.80 ПДФ).

Фух! мы закончили, мы записали некоторый пиксель в rendertarget. Я надеюсь, что эта информация была полезной
чтобы понять часть работы/потока данных внутри графического процессора. Это также может помочь понять другой побочный эффект
почему синхронизация с процессором действительно вредна. Приходится ждать, пока все закончится, и нет
отправляется новая работа (все блоки становятся бездействующими), это означает, что при отправке новой работы требуется некоторое время, пока
все снова полностью загружено, особенно на больших графических процессорах.

На изображении ниже вы можете увидеть, как мы визуализировали модель CAD и раскрасили ее с помощью различных SM или деформации.
идентификаторы, которые участвовали в изображении (NV_shader_thread_group).