Jak jest różnica pomiędzy obliczeniami wykonywanymi programowo, a tymi wykonywanymi sprzętowo?
Nie wiem czy dobrze to rozumiem, ale czy programowo - to znaczy, przez główny procesor CPU, a sprzętowo to np. przez shadery na karcie graficznej?
Mówi się też, że wspomagane sprzętowo obliczenia są wykonywane szybciej niż gdyby miały być one wykonywane na głównym procesorze. Ale z czego to wynika? Jeżeli np. jakaś funkcja cieniowania miałaby być wykonana przez CPU, to musiałby on ją chyba rozłożyć na bardzo wiele elementarnych operacje dodawania i odejmowania (bo tylko takie operacją potrafi wykonywać CPU) i stąd ten relatywnie długi czas wykonania cieniowania? A jeżeli shadery nie muszą tego rozkładać na dodawanie i odejmowania tylko algorytm cieniowania jest jakoś zaimplementowany na poziomie sprzętowym? Ale czy to oznacza, że shadery mają jakiś specjalne bramki logicznie, które potrafią robić więcej niż tylko dodawać i odejmować?
Nie wiem czy dobrze to rozumiem, ale czy programowo - to znaczy, przez główny procesor CPU, a sprzętowo to np. przez shadery na karcie graficznej?
Mówi się też, że wspomagane sprzętowo obliczenia są wykonywane szybciej niż gdyby miały być one wykonywane na głównym procesorze. Ale z czego to wynika? Jeżeli np. jakaś funkcja cieniowania miałaby być wykonana przez CPU, to musiałby on ją chyba rozłożyć na bardzo wiele elementarnych operacje dodawania i odejmowania (bo tylko takie operacją potrafi wykonywać CPU) i stąd ten relatywnie długi czas wykonania cieniowania? A jeżeli shadery nie muszą tego rozkładać na dodawanie i odejmowania tylko algorytm cieniowania jest jakoś zaimplementowany na poziomie sprzętowym? Ale czy to oznacza, że shadery mają jakiś specjalne bramki logicznie, które potrafią robić więcej niż tylko dodawać i odejmować?