聽說XX卡偷掉一個顏色沒算 所以特別快 - 3C

Table of Contents


非常抱歉我只記得大約兩個月前在某篇的推文看到
可是現在怎麼翻都找不到 所以針對這個疑問回答......


答案:單獨偷掉一個顏色不去算是不可能的
因為算出來的樣子..... 如果你有興趣知道 用搜尋引擎找
"色盲者眼中的世界"這種套圖......會有八成像
(就是說 RGB之所以是光的三原色 跟你的生理性質
比較有關 你眼睛中真的有三種功能對應RGB...)

但是偷顏色來變快還是可行的 而且 很好 很強大 很常見(或許??
偷的方法就不一樣了 一般建議 偷尾數

怎麼說?

首先拿一杯水 裡面滴99滴墨汁 然後再拿一杯水
滴上100滴墨汁 如果這兩杯水沒有擺在一起 大概你完全看不出
哪一杯是哪一杯 因為只差了1/100

所以不用每次算都很剛好 差個1或者1%或許不會怎樣

可是有誤差跟加速怎麼搭得上關係?我設計一個加法功能
A+B很接近100的時候會給我100,這樣有可能變快嗎?

這樣做當然不會,事實上通常加減跟乘不太會因為
你算的不精確得到甚麼好處 所以不是在這邊使用的

那麼來先考慮 比乘法更複雜的東西好了 首先應該是?
小學生都知道乘法學完要學的是除法

回想起你印象中的加減乘除的所有直式算法
加減是不是兩排搞定 而乘法就做了很多排分別乘起來再加
而除法比逆向的乘法更複雜 要不斷退位 還會除不盡要算到最後

真實的計算電路也很像這幾個直式 加減法算N個bit不會太複雜
乘法就可能平方倍大小 除法除了比乘法電路還大 可能還要一直循環
計算到最後1bit結束為止

那麼假如我32bit的資料 也許我除法就做前面1/2或者2/3的bit
後面隨便放 或者是一開始就沒有除法 只有倒數的查表(查表就不可能
滿足32bit了 一定先砍資料長度再查)

總之我有很多辦法,讓原本正常做要幾十個cycle的除法降低成為幾個
cycle,可是我頂多保證前面一部分是正確的 後面比正確值大或小
不知道.這樣的最大誤差...比如說前16bit正確 就是誤差1/256之內

也許對後面的資料而言這誤差可以接受 也許後面會算到爆炸
如果對還是純GPU的時代.誤差一般都沒甚麼 或者做遊戲的不滿意再自己修

除法之上還有log, logE, sin, cos等等運算 原理都相同,正常算要一大把
時間 提供快速算有誤差的給你自己考慮用不用

但後來有了GPGPU 有些程式設計者就無腦的要求你的結果都要跟CPU一致
所以完全只能算不精確的運算的GPU應該都不見了 要嘛這些GPU
提供兩套硬體 一套完整精確度但是慢一套快 或者是他的完全精確的
是以硬體指令為基礎 但是後面用數值方法再修正.....

最後我有沒有辦法知道哪個遊戲或者哪個硬體用的是不精確有誤差的
版本 除了他自己揭露給你看或者你逆向工程挑戰他吧 (??


==>如果看到同一個遊戲 有的卡顏色鮮艷有的卡顏色平板 後者
是偷掉顏色的運算嗎?

我認為兩者無關 顏色可以後來再加強...
而且經過後製加強的似乎更容易掩蓋住有使用不精確運算的方法的結果

如果叫你一個月都吃某力炸醬麵 然後端兩碗飯 裡面各加了兩粒鹽跟三粒鹽
再來分辨 應該是不可能成功的吧.

反之加料成重口味的東西 你就更難分出差異在後面小小的範圍內的誤差了呀


--

All Comments

Erin avatarErin2017-03-14
反過來也沒有幾個人可以吧XD
Elma avatarElma2017-03-16
有時候不是只差1%,而是誤差到5%上下...
因為誤差會累積...
Zanna avatarZanna2017-03-18
是誰這麼大膽今天讓jk大神發三篇了啊? 怎麼沒看到
祭品
Zanna avatarZanna2017-03-19
所以工程繪圖到要求精密度的時候,建議還是繪圖卡
Oliver avatarOliver2017-03-19
說程式設計者無腦會被桶嗎
Odelette avatarOdelette2017-03-21
我記得初代Titan好像就沒砍精度 所以相對來說便宜?
Hedda avatarHedda2017-03-25
FP64有無1/2變成專業卡的門檻那就是另外一個故事...
Catherine avatarCatherine2017-03-27
初代沒砍 記得M版也沒砍拔
Edward Lewis avatarEdward Lewis2017-03-31
M板我就沒啥印象惹 我不是做這行的QQ
Delia avatarDelia2017-04-03
我記得以前常常有刷BIOS變身繪圖卡的玩法
Olga avatarOlga2017-04-04
老黃好像後來都鎖起來
Lydia avatarLydia2017-04-05
頭好痛,先推ww
Lydia avatarLydia2017-04-14
NV之前不是有影片發現偷降材質解析度嗎
靠近才渲染成正常解析 AMD相同情況沒有發生
Aaliyah avatarAaliyah2017-04-18
可以兩個都偷,距離不同LOD bias不一樣 或者那是貼
圖壓縮的特性...
Candice avatarCandice2017-04-23
SFU a家在6代後是做泰勒展開,4k table加3fma輕鬆算
完.vliw5還有所有n牌的則是用2階內插近似誤差較大
Ivy avatarIvy2017-04-23
泰勒跟朱皮雪夫這些應用算蠻常見的
Suhail Hany avatarSuhail Hany2017-04-25
原來如此..... 推推
Hazel avatarHazel2017-04-26
釣到大魚了 感謝分享
Harry avatarHarry2017-04-27
Kelly avatarKelly2017-04-28
無腦是形容後面的要求動作 不是說人啊
Ivy avatarIvy2017-04-30
之前不是有690改電阻變繪圖卡?
Daniel avatarDaniel2017-05-03
是很早期16bit色彩古老3D時代才有偷料。
Enid avatarEnid2017-05-05
我是說硬體上。降材質則是靠軟體驅動
Dora avatarDora2017-05-10
Madame avatarMadame2017-05-13
當年RIVA128對比Voodoo卡貼圖材質有比較粗糙 還有
Lauren avatarLauren2017-05-17
煙霧的效果也差很多
Anthony avatarAnthony2017-05-17
B大那位是linux?
Edward Lewis avatarEdward Lewis2017-05-19
早期TMU的filtering線路精度都偷料
Lauren avatarLauren2017-05-19
早期硬體速度超慢,與其拼高精度,
廠商覺得不如多塞一組管線。