デバイスステート切り替えコスト

仕事が少し落ち着いてきたので、久しぶりにHamana の開発をやった。やりたいことはいくらでもあるのだが、大体月に2日程度しか工数を割り振れないのでなかなか進まない。
まあ仕事と違って、のんびりが許されるから楽しいんだけど。

さて、Hamana で動画再生中にファイルリストとサムネイルウインドウを表示させると妙に重かったのだが、まあテクスチャマップされたポリゴンを大量に描画しているので、こんなものだろうとあまり気に留めていなかった。(文字もサムネイルもすべてテクスチャで描画している)

ところが、今日別件でhamana上で大量のテクスチャマップされたポリゴンを描画させてみたら軽い軽い! つまりサムネイルかファイルリストの描画になんらかの無駄があると判明したので詳しく調べることにした。

で、結局直接の原因はサムネイルの描画が次の処理シーケンスになっていたことだった。
  1. すべてのサムネイルに対して2から5を繰り返す
  2. Direct3Dデバイスの頂点フォーマットをテクスチャなしのものに設定する
  3. サムネイルの枠と背景を描画
  4. Direct3Dデバイスの頂点フォーマットをテクスチャありのものに設定する
  5. サムネイル画像を描画
つまり2,4の頂点フォーマットの切り替えをサムネイル画像ごとに行っていたのがマズかった。

これを次のようにしたらCPUの使用率が80%から10%まで改善した(毎秒60フレームで描画)。
  1. Direct3Dデバイスの頂点フォーマットをテクスチャなしのものに設定する
  2. すべてのサムネイルの枠と背景を描画
  3. Direct3Dデバイスの頂点フォーマットをテクスチャありのものに設定する
  4. すべてのサムネイル画像を描画


描画するサムネイルは高々20個程度のわけなので、これによって節約できる描画ステートの切り替えは40回程度なのだが、まさかここまでパフォーマンスに大きな影響を与えてるとは想像もつかなかった。

<< ACM SIGGRAPH Site Top あふ >>

Comments

les meilleures casinos promotions
2006/12/13 12:36 PM
<a href=http://www.jbgrant.com/autre/1465>jeu pc</a> <a href=http://www.jackpothollywood.com/fr/1338>casino virtuel</a> <a href=http://www.harvestnow.net/fr-jeu/1131>jeu casino ligne</a> <a href=http://www.hiltondenverairport.com/jeu-po/1280>jouez au poker</a> <a href=http://www.highlandbpw.org/gratuit/jeu-en-ligne-gratuit.html>jeu en ligne gratuit</a> <a href=http://www.jackpothollywood.com/meilleur/1357>meilleures promotions en ligne</a> <a href=http://www.highcrestinn.com/cas-fr/1190>casino gratuit</a> <a href=http://www.highcrestinn.com/jeu/1203>jeu online</a> <a href=http://www.highcrestinn.com/cas-fr/1183>casino sans tlchargement</a> <a href=http://www.jeanniesgifts.com/bon/1588>les meilleures casinos promotions</a> <a href=http://www.harvestnow.net/fr-cas/1130>gant casino</a> <a href=http://www.highlandbpw.org/bon-fr/1241>bonus</a> <a href=http://www.raymondforklifts.com/jepo/2970>jouez au poker</a> <a href=http://www.highlandbpw.org/bon-fr/1245>les meilleures casinos promotions</a> <a href=http://www.raymondforklifts.com/fr-p/3007>bet</a> <a href=http://www.jbgrant.com/proms/1478>salles de poker</a> <a href=http://www.highlandbpw.org/gratuit/salles-virtuelles-de-jeux-gratuits.html>salles virtuelles de jeux gratuits</a> <a href=http://www.highlandbpw.org/jeux/1255>roulette</a> <a href=http://www.raymondforklifts.com/enligne/3057>top poker en ligne</a> <a href=http://www.purplepeacockceramics.com/cajeux/2624>machines sous</a>
blackjack en ligne
2006/12/13 01:00 PM
<a href=http://www.highlandbpw.org/gratuit/jeu-gratuit.html>jeu gratuit</a> <a href=http://www.jaquaart.com/promos/1431>les meilleures poker promotions</a> <a href=http://www.highlandbpw.org/jeux/1256>salles de jeux</a> <a href=http://www.jcbcontracting.com/je-ca/1506>craps</a> <a href=http://www.jandrimages.com/fr-poker/1387>jeu en ligne</a> <a href=http://www.ispecialtyshop.com/fr-casi/1318>les meilleures casinos promotions</a> <a href=http://www.jackpothollywood.com/meilleur/1355>meilleurs casinos en ligne</a> <a href=http://www.hiltondenverairport.com/salles/1282>le top de poker en ligne</a> <a href=http://www.harvestnow.net/fr-cas/1122>casino internet</a> <a href=http://www.jbgrant.com/autre/1463>pacific poker</a> <a href=http://www.raymondforklifts.com/enligne/3043>poker en ligne</a> <a href=http://www.jeanniesgifts.com/salles/1574>casino de paris</a> <a href=http://www.purplepeacockceramics.com/lig/2637>blackjack en ligne</a> <a href=http://www.jbgrant.com/autre/1462>jeu</a> <a href=http://www.jbgrant.com/th-fr/1459>jeu texas holdem</a> <a href=http://www.jeanniesgifts.com/deca/1564>vido poker</a> <a href=http://www.hi-ontario.com/jouez/1168>meilleures salles de jeux</a> <a href=http://www.hi-ontario.com/fr-ca/1174>casino gratuit</a> <a href=http://www.highlandbpw.org/bon-fr/1242>bonus de casino en ligne</a> <a href=http://www.raymondforklifts.com/fr-p/3012>jeu de carte</a>
jeu de cartes
2006/12/13 01:31 PM
<a href=http://www.raymondforklifts.com/fr-p/3017>jeu flash</a> <a href=http://www.jackpothollywood.com/ligne/1347>jeu casino ligne</a> <a href=http://www.jaquaart.com/poker-fr/1415>online poker</a> <a href=http://www.purplepeacockceramics.com/gratu/2659>bonus gratuits</a> <a href=http://www.hi-ontario.com/autre/1154>machine sous</a> <a href=http://www.purplepeacockceramics.com/lig/2635>bonus des casinos en ligne</a> <a href=http://www.harvestnow.net/fr-jeu/1138>salles de jeux virtuelles</a> <a href=http://www.highcrestinn.com/jeu/1204>jeu sur internet</a> <a href=http://www.highlandbpw.org/jeux/1252>jeu de cartes</a> <a href=http://www.hiltondenverairport.com/fr-pok/1263>poker en ligne</a> <a href=http://www.jaquaart.com/jeu-r/1420>jeu flash</a> <a href=http://www.ispecialtyshop.com/fr-casi/1311>casino gratuit</a> <a href=http://www.hi-ontario.com/jouez/1165>le top des casinos en ligne</a> <a href=http://www.raymondforklifts.com/fr-p/3011>jeu</a> <a href=http://www.ispecialtyshop.com/fr-casi/1317>casino sans tlchargement</a> <a href=http://www.jcbcontracting.com/casi-fr/1499>casino</a> <a href=http://www.purplepeacockceramics.com/lig/2650>meilleurs casinos en ligne</a> <a href=http://www.hi-ontario.com/jouez/1164>casino sans tlchargement</a> <a href=http://www.jcbcontracting.com/offre/1517>bonus des casinos en ligne</a> <a href=http://www.jcbcontracting.com/je-ca/1505>gambling</a>
les meilleures casinos promotions
2006/12/13 04:38 PM
<a href=http://www.purplepeacockceramics.com/lig/2645>le top des casinos en ligne</a> <a href=http://www.jackpothollywood.com/jeux/1368>machine sous</a> <a href=http://www.harvestnow.net/fr-cas/1118>casino france</a> <a href=http://www.raymondforklifts.com/jepo/2978>jeu de poker en ligne gratuit</a> <a href=http://www.highcrestinn.com/jeu/1196>jeu casino gratuit</a> <a href=http://www.ispecialtyshop.com/jouer/1296>baccarat</a> <a href=http://www.hiltondenverairport.com/gra-fr/1267>poker en ligne gratuit</a> <a href=http://www.jandrimages.com/fr-poker/1389>jouez au poker gratuit</a> <a href=http://www.jandrimages.com/fr-poker/1385>jeu</a> <a href=http://www.hi-ontario.com/autre/1151>gambling</a> <a href=http://www.purplepeacockceramics.com/lig/2655>top des casinos en ligne</a> <a href=http://www.purplepeacockceramics.com/gratu/2665>jeu casino gratuit</a> <a href=http://www.jackpothollywood.com/ligne/1352>jouez au casino en ligne</a> <a href=http://www.raymondforklifts.com/jepo/2984>jeu de poker</a> <a href=http://www.highcrestinn.com/meilleurs/1208>les meilleures casinos promotions</a> <a href=http://www.hi-ontario.com/fr-bra/1149>casino jeu</a> <a href=http://www.ispecialtyshop.com/jouer/1302>vido poker</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.highlandbpw.org/ca-fr/1234>casino jeu</a>
jeu en ligne
2006/12/13 05:54 PM
<a href=http://www.hi-ontario.com/jouez/1160>jouez au casino en ligne</a> <a href=http://www.jeanniesgifts.com/salles/1582>casino sans tlchargement</a> <a href=http://www.purplepeacockceramics.com/cajeux/2630>craps</a> <a href=http://www.harvestnow.net/fr-cas/1120>casino en ligne</a> <a href=http://www.jackpothollywood.com/fr/1337>casinos</a> <a href=http://www.hiltondenverairport.com/fr-pok/1262>online poker</a> <a href=http://www.jcbcontracting.com/je-ca/1501>vido poker</a> <a href=http://www.hiltondenverairport.com/tex-fr/1287>online texas holdem</a> <a href=http://www.jackpothollywood.com/ligne/1353>jeu en ligne gratuit</a> <a href=http://www.purplepeacockceramics.com/lig/2656>top des casinos en ligne</a> <a href=http://www.highlandbpw.org/jeux/1257>vido poker</a> <a href=http://www.raymondforklifts.com/fr-th/2954>online texas holdem</a> <a href=http://www.jackpothollywood.com/meilleur/1360>les meilleures casinos promotions</a> <a href=http://www.jdcollectibles.com/ca-jo/1557>jouez au casino</a> <a href=http://www.jaquaart.com/jeu-r/1421>jeu en ligne</a> <a href=http://www.harvestnow.net/fr-bac/1107>bonus</a> <a href=http://www.ispecialtyshop.com/fr-casi/1312>casino france</a> <a href=http://www.raymondforklifts.com/bon-p/2987>top poker promotions</a> <a href=http://www.hi-ontario.com/autre/1155>machines sous</a> <a href=http://www.purplepeacockceramics.com/lig/2638>jouez au casino en ligne</a>
vido poker
2006/12/13 08:44 PM
<a href=http://www.jdcollectibles.com/dernie/1545>meilleurs casinos en ligne</a> <a href=http://www.jackpothollywood.com/jeux/1365>baccarat</a> <a href=http://www.highcrestinn.com/meilleurs/1210>meilleur casino en ligne</a> <a href=http://www.jbgrant.com/jeudepo/1450>jeu de poker gratuit</a> <a href=http://www.highcrestinn.com/meilleurs/1209>les meilleurs casinos en ligne</a> <a href=http://www.highcrestinn.com/cas-fr/1187>casino ligne</a> <a href=http://www.jackpothollywood.com/jeux/1370>vido poker</a> <a href=http://www.jdcollectibles.com/dernie/1535>meilleur casino en ligne</a> <a href=http://www.raymondforklifts.com/salles-p/2999>salles de poker</a> <a href=http://www.jandrimages.com/fr-poker/1377>poker gratuit</a> <a href=http://www.highlandbpw.org/ca-fr/1233>casino internet</a> <a href=http://www.hiltondenverairport.com/autre/1290>bet</a> <a href=http://www.raymondforklifts.com/jepo/2975>jeu de poker gratuit</a> <a href=http://www.raymondforklifts.com/salles-p/2999>salles de poker</a> <a href=http://www.raymondforklifts.com/enligne/3059>top poker en ligne</a> <a href=http://www.raymondforklifts.com/fr-p/3013>jeu de carte</a> <a href=http://www.jdcollectibles.com/sous/1525>vido poker</a> <a href=http://www.raymondforklifts.com/enligne/3050>online poker</a> <a href=http://www.harvestnow.net/fr-jeu/1134>jeu en ligne gratuit</a> <a href=http://www.jackpothollywood.com/ligne/1350>casino en ligne</a>
top casinos promotions
2006/12/13 09:23 PM
<a href=http://www.harvestnow.net/fr-cas/1121>casino gratuit</a> <a href=http://www.raymondforklifts.com/jepo/2985>jeu de poker</a> <a href=http://www.raymondforklifts.com/fr-p/3029>jeu poker</a> <a href=http://www.hiltondenverairport.com/promo/1272>top poker promotions</a> <a href=http://www.jandrimages.com/fr-poker/1383>world poker tour</a> <a href=http://www.highlandbpw.org/bon-fr/1247>top casinos promotions</a> <a href=http://www.hiltondenverairport.com/promo/1275>le meilleur poker en ligne</a> <a href=http://www.jdcollectibles.com/dernie/1550>top promotions en ligne</a> <a href=http://www.hi-ontario.com/jouez/1158>jouer casino</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/top/1390>meilleures salles de poker</a> <a href=http://www.highlandbpw.org/jeux/1251>craps</a> <a href=http://www.ispecialtyshop.com/jouer/1303>craps</a> <a href=http://www.jackpothollywood.com/fr/1339>casino sans tlchargement</a> <a href=http://www.highcrestinn.com/meilleurs/1216>top promotions en ligne</a> <a href=http://www.jeanniesgifts.com/salles/1583>casino virtuel</a> <a href=http://www.jeanniesgifts.com/salles/1575>casino 888</a> <a href=http://www.raymondforklifts.com/salles-p/3005>salles virtuelles de poker gratuit</a> <a href=http://www.jackpothollywood.com/jeux/1369>roulette</a>
salles virtuelles de jeux gratuits
2006/12/14 02:15 AM
<a href=http://www.jeanniesgifts.com/salles/1573>casino franais</a> <a href=http://www.hiltondenverairport.com/tex-fr/1289>online texas holdem</a> <a href=http://www.purplepeacockceramics.com/gratu/2667>salles virtuelles de jeux gratuits</a> <a href=http://www.jackpothollywood.com/jeux/1366>blackjack en ligne</a> <a href=http://www.jcbcontracting.com/offre/1513>meilleur casino en ligne</a> <a href=http://www.purplepeacockceramics.com/gratu/2663>jeu casino gratuit</a> <a href=http://www.raymondforklifts.com/fr-th/2957>online texas holdem</a> <a href=http://www.jackpothollywood.com/ligne/1349>casino ligne</a> <a href=http://www.jandrimages.com/autre/1403>jeu java</a> <a href=http://www.highcrestinn.com/jeu/1199>jeu de hasard</a> <a href=http://www.jdcollectibles.com/ru/1531>craps</a> <a href=http://www.raymondforklifts.com/fr-p/3024>jeu pc</a> <a href=http://www.jackpothollywood.com/fr/1340>casino net</a> <a href=http://www.highlandbpw.org/gratuit/casino-gratuit.html>casino gratuit</a> <a href=http://www.raymondforklifts.com/jepo/2978>jeu de poker en ligne gratuit</a> <a href=http://www.raymondforklifts.com/bon-p/2991>les meilleures poker promotions</a> <a href=http://www.purplepeacockceramics.com/lig/2654>top casino en ligne</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.raymondforklifts.com/jepo/2981>jeu de poker en ligne</a>
bonus
2006/12/14 02:21 AM
<a href=http://www.hi-ontario.com/jouez/1166>les meilleures casinos promotions</a> <a href=http://www.raymondforklifts.com/jepo/2969>jouez au poker gratuit</a> <a href=http://www.jbgrant.com/proms/1481>top poker en ligne</a> <a href=http://www.jeanniesgifts.com/deca/1568>jeu de cartes</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/enligne/3060>jeu en ligne</a> <a href=http://www.ispecialtyshop.com/prom/1327>top casinos promotions</a> <a href=http://www.hi-ontario.com/fr-ca/1171>casino</a> <a href=http://www.hiltondenverairport.com/promo/1273>les meilleures poker promotions</a> <a href=http://www.harvestnow.net/fr-vp/1117>vido poker</a> <a href=http://www.jeanniesgifts.com/bon/1584>bonus</a> <a href=http://www.raymondforklifts.com/fr-p/3021>jeu java</a> <a href=http://www.purplepeacockceramics.com/lig/2636>bonus de casino en ligne</a> <a href=http://www.raymondforklifts.com/jepo/2967>jouez au poker gratuit</a> <a href=http://www.ispecialtyshop.com/fr-casi/1315>banque casino</a> <a href=http://www.raymondforklifts.com/salles-p/2996>salles de poker en ligne</a> <a href=http://www.ispecialtyshop.com/prom/1329>top casino en ligne</a> <a href=http://www.hiltondenverairport.com/promo/1274>bonus de poker en ligne</a> <a href=http://www.highcrestinn.com/jeu/1200>jeu en ligne</a>
Helga
2006/12/28 08:28 PM
Your site the best look this if you want BEST REST Adult porn for free:
<a href= http://adult.homesweet.info/faye-teen-charms.html >faye teen-charms</a>
[url=http://adult.homesweet.info/female-hand-jobs.html]female hand jobs[/url]
[url=http://adult.homesweet.info/fanny.html]fanny[/url]
<a href= http://adult.homesweet.info/fat-gay.html >fat gay</a>
[url=http://adult.homesweet.info/faye-hentai.html]faye hentai[/url]
[url=http://adult.homesweet.info/female-fantasy-art.html]female fantasy art[/url]
<a href= http://adult.homesweet.info/famosas-desnudas.html >famosas desnudas</a>
<a href= http://adult.homesweet.info/female-ejaculation-video.html >female ejaculation video</a>
[url=http://adult.homesweet.info/fat-nudes.html]fat nudes[/url]
[url=http://adult.homesweet.info/fat-girlfriends.html]fat girlfriends[/url]

Happy New YEAR!!!
Jack
2006/12/29 10:32 AM
Your site the best look this if you want BEST REST Adult porn for free:
<a href= http://adult.homesweet.info/fat-nudes.html >fat nudes</a>

Happy New YEAR!!!