高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】progressmeter = vectorization
progressmeter + vectorization
progressmeter + vectorization
hi,
is there any way of calculating the number of entities for which the odgsbasevectorize::draw() will be called for a given drawing?
we were implementing the progress bar and although while loading/saving the file, dd calls the progressmeter, during vectorization the progress meter is not called.
as mapping a large number of entities to our app takes a lot of time, we were trying to indicate the status in the progress bar by updating the status each time the draw() method is called. the only problem being we don't know the upper limit of the times draw() will be called.
any suggestions?
thanks.
we currently do not support progress meters during rendering.
that said, you may wish to take a look at
thanks for the reply.
reading the pointed thread, i realize i am not the only one doing these kind of crazy things!
our import process is already horribly slow. none of us are really enthusiastic about iterating thru the database just to get the number of entities.
can i get an approximation of the number of entities that will be passed to draw() from somewhere without putting in much code and performance penalty?
thanks,
varun
i don't know if this will help in your case, but there is this function:
oddbdatabase->approxnumobjects();
according to the documentation, the value is guaranteed to be greater than or equal to the number of objects in the database.
i guess that this number could be quite a bit larger than the number of elements that will actually be passed to draw. we log the value when we are debugging just so that we have some rough idea of how many items are in the file (we are only interested in drawing).
oddbdatabase has approxnumobjects() method. surely it does not reflect number of entities. it may be greater because includes number of all db objects (not only entities and including erased ones)
and it may be less than number of entities sent to draw() method. this may happen if a block is inserted multiple times.
but probably it can be used for rough estimations.
sergey slezkin
a rough estimate is all we wanted.
thanks all,
varun
|