Cg の最適化(2)

Cg の吐き出すコードの件だが、どうも Sampler1Dを使っているのが原因のようだ。 Sampler1Dでもアセンブルされたコードでは2Dのテクスチャとして扱われているが、このときy座標を中央の0.5にしてしまうのが原因ってことかな?
どうせ1Dテクスチャのy座標はどんな値でも関係ない状態なので、以下のように意図的に座標を無視するようにSampler2Dを使ってみた。
void FragmentProgram(float4 color : COLOR0,
  in float2 texCoord0 : TEXCOORD0,
  out float4 colorO : COLOR0,
  const uniform sampler2D PictureTexture,
  const uniform sampler2D ToneCurveTexture)
{
  float4 texCol = tex2D(PictureTexture, texCoord0);
  colorO.r = tex2D(ToneCurveTexture, texCol.rr).r;
  colorO.g = tex2D(ToneCurveTexture, texCol.gg).g;
  colorO.b = tex2D(ToneCurveTexture, texCol.bb).b;
  colorO.a = texCol.a * color.a;
}


これをCgでコンパイルすると生成されるコードは以下のようになって、だいぶ効率がよくなった。
ps_2_0
dcl_2d s0
dcl_2d s1
dcl t0.xy
dcl v0.xyzw
texld r0, t0, s0
mov r1, r0.z
texld r1, r1, s1
mov r0.z, r1
mov r1, r0.y
texld r1, r1, s1
mov r0.y, r1
mov r1, r0.x
texld r1, r1, s1
mov r0.x, r1
mul r0.w, r0, v0
mov oC0, r0


ちなみに同じコードを DirectX9 のHLSLコンパイラ に吐き出させるとこんな感じ。(CgとHLSLの言語仕様が同じってのは助かるねえ!)
ps_2_0
dcl v0
dcl t0.xy
dcl_2d s0
dcl_2d s1
texld r1, t0, s0
mov r2.xy, r1.x
mov r1.x, r1.y
mov r0.xy, r1.z
texld r3, r2, s1
texld r2, r1, s1
texld r0, r0, s1
mov r0.x, r3.x
mov r0.y, r2.y
mul r0.w, r1.w, v0.w
mov oC0, r0
うーむ、結構ちがうな。Cgより mov命令が一つ少なくなってる。HLSLのほうが賢いんかなあ...
どのみち Cgのランタイムを配布するのは面倒なので、Hamanaに使うのはHLSLにしたほうが良さそうだ。

<< Cg の最適化 Site Top PC 新調 >>

Comments

meilleures salles de jeux
2006/12/13 04:14 PM
<a href=http://www.hi-ontario.com/fr-ca/1177>casino france</a> <a href=http://www.jcbcontracting.com/je-ca/1507>bonus</a> <a href=http://www.hi-ontario.com/fr-bra/1147>bonus gratuits</a> <a href=http://www.jdcollectibles.com/sous/1526>machines sous</a> <a href=http://www.jandrimages.com/depok/1397>jeu de poker</a> <a href=http://www.ispecialtyshop.com/prom/1326>top des casinos en ligne</a> <a href=http://www.jeanniesgifts.com/je-fr/1593>jeu casino gratuit</a> <a href=http://www.raymondforklifts.com/fr-p/3035>poker gratuit</a> <a href=http://www.jdcollectibles.com/dernie/1549>top des casinos en ligne</a> <a href=http://www.harvestnow.net/fr-jeu/1133>jeu de cartes</a> <a href=http://www.purplepeacockceramics.com/cajeux/2629>gambling</a> <a href=http://www.jeanniesgifts.com/deca/1570>blackjack</a> <a href=http://www.jaquaart.com/jouez/1445>jouez au poker gratuit</a> <a href=http://www.jackpothollywood.com/fr/1342>casino internet</a> <a href=http://www.hi-ontario.com/autre/1150>craps</a> <a href=http://www.jeanniesgifts.com/salles/1579>meilleures salles de jeux</a> <a href=http://www.jaquaart.com/jeu-r/1422>jeu de poker gratuit</a> <a href=http://www.jdcollectibles.com/ca-jo/1559>jouez ligne</a> <a href=http://www.jbgrant.com/jeudepo/1453>jouez au poker gratuit</a> <a href=http://www.hiltondenverairport.com/salles/1286>pacific poker</a>
jeu en ligne
2006/12/13 04:37 PM
<a href=http://www.ispecialtyshop.com/jouer/1302>vido poker</a> <a href=http://www.hi-ontario.com/autre/1151>gambling</a> <a href=http://www.highcrestinn.com/meilleurs/1208>les meilleures casinos promotions</a> <a href=http://www.raymondforklifts.com/jepo/2984>jeu de poker</a> <a href=http://www.raymondforklifts.com/jepo/2978>jeu de poker en ligne gratuit</a> <a href=http://www.highlandbpw.org/ca-fr/1234>casino jeu</a> <a href=http://www.purplepeacockceramics.com/lig/2655>top des casinos en ligne</a> <a href=http://www.ispecialtyshop.com/jouer/1296>baccarat</a> <a href=http://www.jandrimages.com/fr-poker/1389>jouez au poker gratuit</a> <a href=http://www.hiltondenverairport.com/gra-fr/1267>poker en ligne gratuit</a> <a href=http://www.jackpothollywood.com/ligne/1352>jouez au casino en ligne</a> <a href=http://www.jandrimages.com/fr-poker/1385>jeu</a> <a href=http://www.jackpothollywood.com/jeux/1368>machine sous</a> <a href=http://www.hi-ontario.com/fr-bra/1149>casino jeu</a> <a href=http://www.purplepeacockceramics.com/gratu/2665>jeu casino gratuit</a> <a href=http://www.highcrestinn.com/jeu/1196>jeu casino gratuit</a> <a href=http://www.purplepeacockceramics.com/lig/2645>le top des casinos en ligne</a> <a href=http://www.jbgrant.com/autre/1461>jeu en ligne</a> <a href=http://www.purplepeacockceramics.com/lig/2647>meilleur casino en ligne</a> <a href=http://www.harvestnow.net/fr-cas/1118>casino france</a>
poker gratuit
2006/12/13 05:01 PM
<a href=http://www.jandrimages.com/top/1391>les meilleures poker promotions</a> <a href=http://www.harvestnow.net/fr-cas/1119>casino en line</a> <a href=http://www.raymondforklifts.com/enligne/3054>le meilleur poker en ligne</a> <a href=http://www.jbgrant.com/proms/1468>bet</a> <a href=http://www.hiltondenverairport.com/autre/1295>jeu pc</a> <a href=http://www.jdcollectibles.com/dernie/1548>top casinos promotions</a> <a href=http://www.raymondforklifts.com/jepo/2976>jeu de poker en ligne gratuit</a> <a href=http://www.purplepeacockceramics.com/cajeux/2622>vido poker</a> <a href=http://www.purplepeacockceramics.com/lig/2652>software dadi</a> <a href=http://www.jeanniesgifts.com/deca/1565>roulette</a> <a href=http://www.raymondforklifts.com/bon-p/2988>top poker promotions</a> <a href=http://www.hi-ontario.com/jouez/1167>les meilleurs casinos en ligne</a> <a href=http://www.harvestnow.net/fr-rou/1114>roulette</a> <a href=http://www.highcrestinn.com/jeu/1202>jeu gratuit</a> <a href=http://www.raymondforklifts.com/fr-p/3035>poker gratuit</a> <a href=http://www.jdcollectibles.com/dernie/1539>bonus gratuits</a> <a href=http://www.hi-ontario.com/fr-bljack/1145>blackjack en ligne</a> <a href=http://www.jcbcontracting.com/promos/1511>meilleures promotions en ligne</a> <a href=http://www.harvestnow.net/fr-cas/1129>casinos gratuits</a> <a href=http://www.jackpothollywood.com/fr/1346>gambling</a>
poker gratuit
2006/12/13 07:16 PM
<a href=http://www.jandrimages.com/fr-poker/1377>poker gratuit</a> <a href=http://www.jdcollectibles.com/dernie/1535>meilleur casino en ligne</a> <a href=http://www.jackpothollywood.com/ligne/1350>casino en ligne</a> <a href=http://www.raymondforklifts.com/jepo/2975>jeu de poker gratuit</a> <a href=http://www.highcrestinn.com/cas-fr/1187>casino ligne</a> <a href=http://www.raymondforklifts.com/fr-p/3013>jeu de carte</a> <a href=http://www.jackpothollywood.com/jeux/1365>baccarat</a> <a href=http://www.harvestnow.net/fr-jeu/1134>jeu en ligne gratuit</a> <a href=http://www.jdcollectibles.com/dernie/1545>meilleurs casinos en ligne</a> <a href=http://www.raymondforklifts.com/enligne/3050>online poker</a> <a href=http://www.highcrestinn.com/meilleurs/1209>les meilleurs casinos en ligne</a> <a href=http://www.raymondforklifts.com/salles-p/2999>salles de poker</a> <a href=http://www.hiltondenverairport.com/autre/1290>bet</a> <a href=http://www.jdcollectibles.com/sous/1525>vido poker</a> <a href=http://www.jbgrant.com/jeudepo/1450>jeu de poker gratuit</a> <a href=http://www.highlandbpw.org/ca-fr/1233>casino internet</a> <a href=http://www.raymondforklifts.com/enligne/3059>top poker en ligne</a> <a href=http://www.highcrestinn.com/meilleurs/1210>meilleur casino en ligne</a> <a href=http://www.jackpothollywood.com/jeux/1370>vido poker</a> <a href=http://www.raymondforklifts.com/salles-p/2999>salles de poker</a>
blackjack
2006/12/13 07:49 PM
<a href=http://www.ispecialtyshop.com/fr-casi/1316>casino virtuel</a> <a href=http://www.jbgrant.com/jeudepo/1446>jeu de carte</a> <a href=http://www.jcbcontracting.com/casi-fr/1492>casino sans tlchargement</a> <a href=http://www.hi-ontario.com/fr-bljack/1144>blackjack</a> <a href=http://www.jaquaart.com/promos/1429>top poker promotions</a> <a href=http://www.jbgrant.com/proms/1473>meilleures salles de poker</a> <a href=http://www.jbgrant.com/proms/1475>poker en ligne</a> <a href=http://www.jdcollectibles.com/ca-jo/1555>jeu sur internet</a> <a href=http://www.jbgrant.com/autre/1464>online poker</a> <a href=http://www.highcrestinn.com/meilleurs/1212>meilleurs casinos en ligne</a> <a href=http://www.raymondforklifts.com/salles-p/3002>meilleures salles de poker</a> <a href=http://www.jandrimages.com/fr-poker/1376>salles de poker</a> <a href=http://www.jcbcontracting.com/promos/1509>top promotions en ligne</a> <a href=http://www.jcbcontracting.com/casi-fr/1493>casino on net</a> <a href=http://www.raymondforklifts.com/salles-p/2999>salles de poker</a> <a href=http://www.ispecialtyshop.com/fr-casi/1308>casino ligne</a> <a href=http://www.jaquaart.com/salle/1435>salles virtuelles de poker gratuit</a> <a href=http://www.jdcollectibles.com/dernie/1538>le top des casinos en ligne</a> <a href=http://www.highlandbpw.org/jeux/1254>machines sous</a> <a href=http://www.purplepeacockceramics.com/lig/2648>meilleures promotions en ligne</a>
les meilleurs casinos en ligne
2006/12/13 08:45 PM
<a href=http://www.harvestnow.net/fr-jeu/1134>jeu en ligne gratuit</a> <a href=http://www.raymondforklifts.com/enligne/3050>online poker</a> <a href=http://www.raymondforklifts.com/salles-p/2999>salles de poker</a> <a href=http://www.highcrestinn.com/meilleurs/1209>les meilleurs casinos en ligne</a> <a href=http://www.raymondforklifts.com/jepo/2975>jeu de poker gratuit</a> <a href=http://www.jackpothollywood.com/jeux/1365>baccarat</a> <a href=http://www.jdcollectibles.com/dernie/1545>meilleurs casinos en ligne</a> <a href=http://www.raymondforklifts.com/fr-p/3013>jeu de carte</a> <a href=http://www.jackpothollywood.com/jeux/1370>vido poker</a> <a href=http://www.highcrestinn.com/cas-fr/1187>casino ligne</a> <a href=http://www.raymondforklifts.com/salles-p/2999>salles de poker</a> <a href=http://www.jdcollectibles.com/sous/1525>vido poker</a> <a href=http://www.hiltondenverairport.com/autre/1290>bet</a> <a href=http://www.jdcollectibles.com/dernie/1535>meilleur casino en ligne</a> <a href=http://www.jbgrant.com/jeudepo/1450>jeu de poker gratuit</a> <a href=http://www.raymondforklifts.com/enligne/3059>top poker en ligne</a> <a href=http://www.jackpothollywood.com/ligne/1350>casino en ligne</a> <a href=http://www.highlandbpw.org/ca-fr/1233>casino internet</a> <a href=http://www.jandrimages.com/fr-poker/1377>poker gratuit</a> <a href=http://www.highcrestinn.com/meilleurs/1210>meilleur casino en ligne</a>
salles virtuelles de poker gratuit
2006/12/13 09:25 PM
<a href=http://www.raymondforklifts.com/jepo/2985>jeu de poker</a> <a href=http://www.hiltondenverairport.com/promo/1272>top poker promotions</a> <a href=http://www.highcrestinn.com/meilleurs/1216>top promotions en ligne</a> <a href=http://www.hiltondenverairport.com/promo/1275>le meilleur poker en ligne</a> <a href=http://www.jeanniesgifts.com/salles/1583>casino virtuel</a> <a href=http://www.jdcollectibles.com/dernie/1550>top promotions en ligne</a> <a href=http://www.jackpothollywood.com/fr/1339>casino sans tlchargement</a> <a href=http://www.raymondforklifts.com/salles-p/3000>meilleures salles de poker</a> <a href=http://www.harvestnow.net/fr-bjack/1111>black jack</a> <a href=http://www.jandrimages.com/fr-poker/1383>world poker tour</a> <a href=http://www.raymondforklifts.com/salles-p/3005>salles virtuelles de poker gratuit</a> <a href=http://www.jeanniesgifts.com/salles/1575>casino 888</a> <a href=http://www.highlandbpw.org/jeux/1251>craps</a> <a href=http://www.highlandbpw.org/bon-fr/1247>top casinos promotions</a> <a href=http://www.hi-ontario.com/jouez/1158>jouer casino</a> <a href=http://www.harvestnow.net/fr-cas/1121>casino gratuit</a> <a href=http://www.jandrimages.com/top/1390>meilleures salles de poker</a> <a href=http://www.ispecialtyshop.com/jouer/1303>craps</a> <a href=http://www.raymondforklifts.com/fr-p/3029>jeu</a> <a href=http://www.jackpothollywood.com/jeux/1369>roulette</a>
casinos en ligne
2006/12/14 01:12 AM
<a href=http://www.jbgrant.com/jeudepo/1447>jeu de poker</a> <a href=http://www.raymondforklifts.com/enligne/3059>top poker en ligne</a> <a href=http://www.jaquaart.com/jeu-r/1418>jeu java</a> <a href=http://www.hi-ontario.com/jouez/1161>jouez ligne</a> <a href=http://www.jandrimages.com/fr-poker/1384>bet</a> <a href=http://www.jaquaart.com/miscellaneus/1442>texas holdem</a> <a href=http://www.jbgrant.com/th-fr/1457>texas holdem</a> <a href=http://www.hi-ontario.com/fr-bra/1148>casinos en ligne</a> <a href=http://www.jeanniesgifts.com/deca/1572>black jack</a> <a href=http://www.purplepeacockceramics.com/lig/2639>casino ligne</a> <a href=http://www.jaquaart.com/jeu-r/1419>jeu flash gratuit</a> <a href=http://www.jeanniesgifts.com/bon/1586>bonus des casinos en ligne</a> <a href=http://www.hi-ontario.com/autre/1156>roulette</a> <a href=http://www.harvestnow.net/fr-cas/1127>casino sans tlchargement</a> <a href=http://www.jandrimages.com/fr-poker/1380>poker</a> <a href=http://www.highcrestinn.com/cas-fr/1188>casino jeu</a> <a href=http://www.raymondforklifts.com/enligne/3044>poker en ligne</a> <a href=http://www.harvestnow.net/fr-vp/1115>jeu de hasard</a> <a href=http://www.jandrimages.com/autre/1402>jeu flash gratuit</a> <a href=http://www.raymondforklifts.com/fr-p/3028>jeu java</a>
top casino en ligne
2006/12/14 02:15 AM
<a href=http://www.raymondforklifts.com/bon-p/2991>les meilleures poker promotions</a> <a href=http://www.raymondforklifts.com/fr-th/2957>jeu texas holdem</a> <a href=http://www.raymondforklifts.com/fr-p/3024>jeu pc</a> <a href=http://www.purplepeacockceramics.com/gratu/2667>salles virtuelles de jeux gratuits</a> <a href=http://www.highlandbpw.org/gratuit/casino-gratuit.html>casino gratuit</a> <a href=http://www.raymondforklifts.com/enligne/3040>poker en ligne gratuit</a> <a href=http://www.jcbcontracting.com/je-ca/1504>jouez ligne</a> <a href=http://www.purplepeacockceramics.com/lig/2654>top casino en ligne</a> <a href=http://www.jdcollectibles.com/ru/1531>craps</a> <a href=http://www.jackpothollywood.com/jeux/1366>blackjack</a> <a href=http://www.jandrimages.com/autre/1403>jeu java</a> <a href=http://www.jcbcontracting.com/offre/1513>meilleur casino en ligne</a> <a href=http://www.raymondforklifts.com/jepo/2981>jeu de poker en ligne</a> <a href=http://www.purplepeacockceramics.com/gratu/2663>jeu casino gratuit</a> <a href=http://www.jackpothollywood.com/ligne/1349>casino ligne</a> <a href=http://www.hiltondenverairport.com/tex-fr/1289>jeu texas holdem</a> <a href=http://www.jeanniesgifts.com/salles/1573>casino franais</a> <a href=http://www.jackpothollywood.com/fr/1340>casino net</a> <a href=http://www.highcrestinn.com/jeu/1199>jeu de hasard</a> <a href=http://www.raymondforklifts.com/jepo/2978>jeu de poker en ligne gratuit</a>
bonus de poker en ligne
2006/12/14 02:19 AM
<a href=http://www.hiltondenverairport.com/promo/1273>les meilleures poker promotions</a> <a href=http://www.jeanniesgifts.com/deca/1568>jeu de cartes</a> <a href=http://www.purplepeacockceramics.com/lig/2636>bonus de casino en ligne</a> <a href=http://www.raymondforklifts.com/enligne/3060>jeu en ligne</a> <a href=http://www.harvestnow.net/fr-vp/1117>vido poker</a> <a href=http://www.highcrestinn.com/jeu/1200>jeu en ligne</a> <a href=http://www.ispecialtyshop.com/prom/1329>top casino en ligne</a> <a href=http://www.raymondforklifts.com/salles-p/2996>salles de poker en ligne</a> <a href=http://www.jeanniesgifts.com/bon/1584>bonus</a> <a href=http://www.hi-ontario.com/jouez/1166>les meilleures casinos promotions</a> <a href=http://www.jbgrant.com/proms/1481>top poker en ligne</a> <a href=http://www.ispecialtyshop.com/fr-casi/1315>banque casino</a> <a href=http://www.raymondforklifts.com/jepo/2967>jouez au poker gratuit</a> <a href=http://www.hi-ontario.com/fr-ca/1171>meilleures promotions en ligne</a> <a href=http://www.raymondforklifts.com/jepo/2969>jouez au poker gratuit</a> <a href=http://www.hiltondenverairport.com/promo/1274>bonus de poker en ligne</a> <a href=http://www.hiltondenverairport.com/salles/1284>salles de poker</a> <a href=http://www.ispecialtyshop.com/bono/1323>bonus de casino en ligne</a> <a href=http://www.raymondforklifts.com/fr-p/3021>jeu java</a> <a href=http://www.ispecialtyshop.com/prom/1327>top casinos promotions</a>