DirectX - page 8

 
Реter Konow:

Hier, j'ai fait un exemple de tumbler avec des cellules redessinées indépendamment du canevas de la fenêtre entière: https://www.mql5.com/ru/forum/333652/page4.

Il montre que le redécoupage séparé des cellules maintient la charge dans les limites de 20% (sur la vidéo plus à cause de l'enregistrement vidéo), TOUJOURS si les cellules sont redécoupées TOUT le temps et à 40 fps. Avec cette approche, la dynamique normale d'un tambour se charge de 5 à 10 % environ.

La charge n'est élevée que si l'on redessine une grande surface (~500*500 px) à une vitesse élevée sans pauses (~40+ fps). Tout retard ou toute réduction de la zone de redécoupage réduira la charge plusieurs fois.

Dans votre exemple, le verre est bien sûr assez tronqué, y compris en profondeur. C'est drôle, mais apparemment le rendu d'une pile doit être fait sur tous les cœurs avec OpenCL, en plus, puisque le calcul est décomposé en cellules séparées, mais là je suis un théoricien.

 
Aleksey Vyazmikin:

Dans votre exemple, le bécher est bien sûr assez tronqué, y compris en profondeur. C'est drôle, mais apparemment le dessin du gobelet devrait être calculé sur tous les cœurs avec OpenCL, en plus, puisque le calcul est divisé en cellules séparées, mais là je suis un théoricien.

Ok, je vais faire un bécher avec plus de cellules et vérifier à nouveau.

 
Реter Konow:

OK, je vais faire un bécher avec plus de cellules et vérifier à nouveau.

Mais ne le rendez pas statique, rendez-le dynamique.

 
Rafil Nurmukhametov:

Le processeur se charge bien, dans l'image précédente vous pouvez voir une position ouverte, le cadre autour du prix est de couleur magenta, là la position est en déficit, dans l'image ci-dessous la position est en excédent.

Mon sentiment est qu'une telle image ne devrait pas être formée plus de 1-3 millisecondes. Si cela prend plus de temps que cela, il doit y avoir un bug quelque part.
 
Rafil Nurmukhametov:

Mais ne le rendez pas statique, rendez-le dynamique.

Que voulez-vous dire par "dynamique" ? Pour que toutes les cellules ne changent pas de valeur en même temps ? Je ne comprends pas.

 
Nikolai Semko:
Mon sentiment est qu'une telle image ne devrait pas former plus de 1-3 millisecondes. Si cela prend plus de temps que ça, il y a un problème quelque part.

Maintenant vous avez élevé la barre de la perfection... Pourquoi ne pas le baisser à 6-8 millisecondes ?

 
Реter Konow:

Qu'entendez-vous par "dynamique" ? Pour que toutes les cellules ne changent pas de valeur en même temps ? Je ne comprends pas.

Pour que le prix actuel se déplace à travers les cellules et non au milieu comme dans mt5.

 
Rafil Nurmukhametov:

pour faire bouger le prix actuel à travers les cellules, pas au milieu comme dans la coupe mt5

C'est-à-dire sans centralisation. Eh bien, pour les instruments à terme, c'est ce dont vous avez vraiment besoin. Ok. (Il s'agit juste d'une maquette pour tester la charge).

 
Rafil Nurmukhametov:

Maintenant vous avez élevé la barre de la perfection... Pouvez-vous le baisser à 6-8 millisecondes ?

c'est trop. Même 3, c'est trop. 6-8 à 30 fps représente 20-30% du temps CPU.
Vous devez utiliser ArrayCopy autant que possible lorsque c'est possible. La transparence doit également être utilisée au minimum, uniquement lorsque cela est nécessaire.
Vous pouvez l'exécuter par profilage et voir où le maximum de CPU fuit.
Peter a bien sûr raison, vous devez redessiner localement les endroits où il y a eu des changements, mais pas redessiner toute la toile à chaque fois.
Et l'utilisation de DX peut soulager considérablement le CPU.
 

OK, j'ai fait le verre dans l'éditeur. Ça m'a pris deux heures. C'est beaucoup d'agitation. Vous pouvez accélérer le processus par un facteur de quatre en ajoutant des outils.

Je l'ai testé.

Le résultat : moins de 20% de la charge avec un changement constant dans toutes les cellules ask et bid, et une cellule price, à 40 images par seconde. (La charge augmente de 5 à 7 % lorsque l'enregistrement est activé).


Je répète mon opinion - dans des conditions réelles, la charge serait de 5 à 10 % selon l'activité du marché.

Dossiers :
GUI_Expert.ex5  600 kb