• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            flagship的理想與現(xiàn)實(shí)

            創(chuàng)新+實(shí)踐

              C++博客 :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
              8 Posts :: 0 Stories :: 27 Comments :: 0 Trackbacks

            常用鏈接

            留言簿(8)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

                  首先我們得明確3D引擎使用多線程的目的所在:
            1、在CPU上進(jìn)行的邏輯計(jì)算(比如骨骼動(dòng)畫粒子發(fā)射等)不影響渲染速度
            2、較差的GPU渲染速度的低下不影響邏輯速度

                  第一個(gè)目標(biāo)已經(jīng)很明確了,我來解釋下需要達(dá)到第二個(gè)目標(biāo)的原因:許多動(dòng)作游戲的邏輯判定是基于幀的,所以在渲染較慢的情況下,邏輯不能跳幀,而仍然需要嚴(yán)格執(zhí)行才能保證游戲邏輯的正確性,這就導(dǎo)致了游戲速度的放慢,而實(shí)際上個(gè)人認(rèn)為渲染保持15幀以上就已經(jīng)可以正常進(jìn)行游戲了。
                  在較差的GPU上跑《鬼泣4》《刺客信條》《波斯王子4》簡(jiǎn)直就像是慢鏡頭一樣,完全沒法玩。而實(shí)際上CPU跑滿幀是沒有問題的,如果能把邏輯幀和渲染幀徹底分離,即使渲染幀達(dá)不到要求,但CPU仍能正確的執(zhí)行游戲邏輯,就可以解決動(dòng)作游戲?qū)PU要求過高的問題。

                  我們先來看多線程Ogre的兩種架構(gòu),第一種是middle-level multithread


                  如上圖所示,每個(gè)需渲染的實(shí)體被復(fù)制成了兩份,主線程和渲染線程交替更新和渲染同一個(gè)實(shí)體的兩個(gè)備份,并在一幀結(jié)束時(shí)同步,這種解決方案達(dá)到了第一個(gè)目標(biāo)而并沒有達(dá)到第二個(gè)目標(biāo),同時(shí)兩份實(shí)體的維護(hù)也相對(duì)復(fù)雜,并且沒法為更多核數(shù)的CPU進(jìn)行擴(kuò)展優(yōu)化。
                  第二種Ogre多線程的方法是 low-level multithread

                  如圖,將D3D對(duì)象復(fù)制兩份,同樣是在幀結(jié)束時(shí)同步并交換,和上面的優(yōu)缺點(diǎn)類似。兩種多線程Ogre的解決方案都是在引擎層完成的,對(duì)上層應(yīng)用透明,對(duì)于用戶而言無需考慮多線程細(xì)節(jié),這點(diǎn)是非常不錯(cuò)的。

                  接下來我們來看SIGGRAPH2008上,id soft提出的多線程3D引擎的方案

                  這里是已PS3的引擎結(jié)構(gòu)為例的,與PC有較大的差別,其中SPU是Cell芯片的8個(gè)協(xié)處理器,擁有強(qiáng)大的并行能力,id的解決方案在SPU上進(jìn)行了諸如骨骼動(dòng)畫、形變動(dòng)畫、頂點(diǎn)和索引緩存的壓縮、Progressive Mesh的計(jì)算等諸多內(nèi)容,同時(shí)與PPU上的物理計(jì)算RSX上的渲染工作交錯(cuò)進(jìn)行,最大化的利用了PS3的硬件結(jié)構(gòu),最終的游戲產(chǎn)品《Rage》很快就會(huì)面世了!

                  最后是我的解決方案

                  特點(diǎn)是邏輯完全分離,無需同步,雖然成功的達(dá)到了文章開始提出的兩個(gè)目標(biāo),但對(duì)于引擎的使用者必須考慮多線程的諸多問題,各種計(jì)算需放在哪個(gè)線程,如何在兩個(gè)線程間交互,都需要深入思考,所以要應(yīng)用到實(shí)際的游戲制作,恐怕還有很長(zhǎng)的一段路要走。
                  結(jié)合目前的架構(gòu)和上面看到的幾種多線程架構(gòu),同時(shí)也為了迎接DX11的到來,我準(zhǔn)備將我的方案進(jìn)一步改進(jìn)成如下所示

                  場(chǎng)景剪裁與提交渲染交替進(jìn)行,并在渲染幀末進(jìn)行一次同步,而多個(gè)渲染表面的場(chǎng)景剪裁可再并行執(zhí)行。
                  圖片多,文字少,需更詳細(xì)資料請(qǐng)自行g(shù)oogle,本文就此結(jié)束!
            posted on 2009-03-25 23:22 flagship 閱讀(6883) 評(píng)論(10)  編輯 收藏 引用 所屬分類: FlagshipEngine

            Feedback

            # re: 幾種多線程3D引擎架構(gòu)的比較 2009-03-26 14:03 亨德列克
            高  回復(fù)  更多評(píng)論
              

            # re: 幾種多線程3D引擎架構(gòu)的比較 2009-03-26 14:31 夢(mèng)在天涯
            很高!  回復(fù)  更多評(píng)論
              

            # re: 幾種多線程3D引擎架構(gòu)的比較 2009-03-26 22:16 jimsmorong
            非常高  回復(fù)  更多評(píng)論
              

            # re: 幾種多線程3D引擎架構(gòu)的比較 2009-03-27 09:50 smokingcode
            老高老高的  回復(fù)  更多評(píng)論
              

            # re: 幾種多線程3D引擎架構(gòu)的比較 2009-03-28 17:47 七星重劍
            相當(dāng)高  回復(fù)  更多評(píng)論
              

            # re: 幾種多線程3D引擎架構(gòu)的比較 2009-04-01 11:05 醒于海角
            喝高了  回復(fù)  更多評(píng)論
              

            # re: 幾種多線程3D引擎架構(gòu)的比較 2009-05-26 12:03 geforce
            哥們你這個(gè)思想 和我做的游戲 一樣 我們游戲項(xiàng)目 也是這個(gè)思想
            QQ 23505105  回復(fù)  更多評(píng)論
              

            # re: 幾種多線程3D引擎架構(gòu)的比較 2010-01-24 16:06 Giser
            不錯(cuò)  回復(fù)  更多評(píng)論
              

            # Unreal游戲引擎3教學(xué)中文字幕 2010-03-07 18:04 Unreal游戲引擎
            Unreal Engine 3 toolkit tutorials(Unreal游戲引擎3教學(xué)中文字幕)

            字幕對(duì)應(yīng)教學(xué)介紹:本教學(xué)介紹了Unreal Tournament 3的開發(fā)引擎Unreal Engine 3開發(fā)工具包的使用.包含了近20個(gè)小時(shí)的教學(xué),讓用戶能自行創(chuàng)作自己的游戲.

            Unreal Engine其實(shí)包含了很多不同引擎的綜合引擎,其中最重要的是圖形引擎,聲音引擎以及物理引擎這三個(gè)部分。
            各類CG教學(xué)的中文字幕發(fā)布免費(fèi)下載試看;
            3dmaxPS手繪 MAYA,游戲,houdini等中文字幕等中文字幕;/www.gbstuff.com/
            qq1355398  回復(fù)  更多評(píng)論
              

            # re: 幾種多線程3D引擎架構(gòu)的比較 2011-07-11 18:52 psychehao
            sx  回復(fù)  更多評(píng)論
              

            久久夜色tv网站| 久久精品三级视频| 91久久精品91久久性色| 99久久国产综合精品五月天喷水| 欧美与黑人午夜性猛交久久久| 午夜精品久久久久久中宇| 天天久久狠狠色综合| 亚洲国产精品一区二区久久hs| 国产成人无码精品久久久免费| 久久黄视频| 久久精品aⅴ无码中文字字幕不卡| 久久久久亚洲AV综合波多野结衣| 久久精品午夜一区二区福利| 欧美精品丝袜久久久中文字幕| 狠狠久久亚洲欧美专区| 伊人色综合久久天天人手人婷 | 久久99久国产麻精品66 | 日本高清无卡码一区二区久久| 精品久久香蕉国产线看观看亚洲| 久久精品国产日本波多野结衣| 久久久久国产一区二区| 伊人久久综在合线亚洲2019| 亚洲精品乱码久久久久久久久久久久| 日韩精品久久久久久久电影蜜臀| 亚洲午夜福利精品久久| 无码任你躁久久久久久老妇| 久久精品无码一区二区三区日韩| 91精品国产综合久久香蕉 | 一本一道久久a久久精品综合| 久久精品国产一区二区电影| 国产精品欧美亚洲韩国日本久久| 秋霞久久国产精品电影院| 好久久免费视频高清| 伊人色综合久久| 国内精品久久久久久麻豆| 久久久久久国产精品免费免费| 国产精品熟女福利久久AV| 激情五月综合综合久久69| 久久久久久久国产免费看| 中文国产成人精品久久亚洲精品AⅤ无码精品 | 久久只有这精品99|