GUI比我想象的麻烦多了,来发发牢骚
c++吧
全部回复
仅看楼主
level 13
⑨chu
楼主
消息响应咱还可以想办法,问题这个绘制实在是。。
咱面对的是D3D额,又不能像GDI一样想画什么画什么。。
还要考虑效率,把要绘制的东西全部组成到buffer里面,然后重绘的时候怎么更新buffer也是问题。。
想着把绘制函数定义成
void Render(float Time, CUIDrawer* Drawer)
然后通过Drawer完成绘图操作,Drawer同时刷新Buffer。突然发现这样设计一旦一个控件重绘了,整个控件链表都要重绘一遍
我了个去。。真是纠结!!!
2012年04月22日 13点04分
1
level 11
itianda
不知道怎么实现部分重绘,我现在写的gui用gdi+完整重绘,每次要20-40ms,如果控件都是不透明矩形就好了
2012年04月22日 14点04分
2
level 13
⑨chu
楼主
GDI+都这样了。。
D3D更烦了,遍历整个控件树,对可见对象调用Render,重新组织Buffer(耗时)
还要渲染,而且每一帧都要渲染。。
我可不想把宝贵的RenderTarget浪费在UI上
2012年04月22日 14点04分
3
level 13
关签
直接图形引擎吧,应该没这么纠结了
2012年04月22日 14点04分
4
level 13
⑨chu
楼主
那就失去研究的意义了- -
2012年04月22日 14点04分
5
level 1
nt_12
D3D的轮子很大
2012年04月22日 14点04分
6
level 11
一群牛跑过
虽不懂,但觉厉
给大婶膜拜了
2012年04月23日 01点04分
8
level 15
幻の上帝
手动脏矩形什么的……其实也不是想象中的那么麻烦……只是要像我只能一路重构的就略蛋疼了。
2012年04月23日 02点04分
10
level 1
nt_12
DrawPrimitive之后没办法lock 似乎是件应该吐槽的事?
2012年04月23日 02点04分
11
level 13
⑨chu
楼主
画不是问题。。组织怎么画是问题
2012年04月23日 03点04分
12
level 12
贴吧用户_0aX3aA7128
兰州卖个萌
2012年04月23日 03点04分
13
level 1
nt_12
以前问过一个类似问题 SetTransform 之后的Vertex buffer就没办法获取,想当蛋疼。
DrawPrimitive 似乎也一个味 vertex shader 还没接触 DrawPrimitiveUP倒是很方便的说
2012年04月23日 03点04分
14
level 10
保濟丸
有硬件加速啊,脏矩阵意义不大吧。无论如何都是要刷新的,用三角网络并不会太消耗性能吧·
2012年04月23日 04点04分
15
level 13
⑨chu
楼主
脏矩形。。
虽然有硬件加速,不过要考虑的东西不是一般的少。。
干脆弄个渲染命令队列好了。。- -
2012年04月23日 09点04分
16
level 12
💫娜迦女妖
不喜欢GUI怎么破,,,怀疑是自己的审美不好的原因,,,,
2012年04月23日 09点04分
17
1