高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】odamfcapp 9all versions0 - rectframe refresh ist slow for dw
odamfcapp (all versions) - rectframe refresh ist slow for dw
odamfcapp (all versions) - rectframe refresh ist slow for dwg bigger 1 mb.
hallo,
i have a dwg width size 4mb.
refresh time for recframe is 1,9 sec, if mouse move hover area width graphic elements .
refresh time for recframe is 0,028 sec, if mouse move hover area without graphic elements.
is it possible to make it faster?
the speed seems to be directly linked with the size of the drawing and cont of enclosed graphic elements .
hello,
yes, the partial update make redrawing of all entities that corresponds to area of selection rectangle. selection rectangle, grip points and etc. is a transient drawables. this is known performance issue, to make transient drawables painting on top of prerendered entities cache, without entities redrawing. but currently this feature is not implemented. in acad transient drawables (selection rectangle, grip points, entities highlighting) draws on top of entities cache, which not changes while entities is not modified, removed or added (in arx2009 implemented new class acgitransientmanager for more convenience transient drawables handling).
you can implement workaround to avoid redrawing of entities while selecting:
1) change selecting rectangle transient drawable class to your own selecting rectangle class, remove adding of drawable to gsmodel.
2) make painting of your selecting rectangle after pdevice->update(); call by your current window system calls. for example for mfc in odamfcapp:
cdc *cdc = getdc();
// draw selection rectangle
//cdc->draw3drect(0, 0, 100, 100, rgb(255, 255, 255), rgb(128, 0, 2));
releasedc(cdc);
i know - this is hard to make solution, but it can be implemented on client side.
|