Problems with many images inside TRichView
Posted: Tue Apr 15, 2014 12:07 pm
Hello,
We are using RichView 14.0.3 in our project, and since recently we observe some strange and irregular behavior (EAccessViolation's, hangups, empty rich content, etc.) obviously caused by the general growth the documents we have to display. After some investigation we narrowed down the problem to the number of images within the document.
To exclude all unrelated factors we generated a simple RTF document https://dl.dropboxusercontent.com/u/893 ... images.rtf which consist of many small images. We can easily open it in MS Word 2013.
The official demo application http://www.trichview.com/resources/acti ... ontest.zip (as of October 31, 2013) however just becomes non-responsive without displaying any clear error message.
Apparently RV attempts to allocate all GDI objects for all images at the time. In most applications this is rather pointless, as one would expect only as many GDI objects as needed for rendering the currently visible area (usually one page) or drawing a page on a given canvas (exactly our scenario).
Another annoying issue is that RV apparently "swallows" the OS-exceptions, which makes it rather difficult to diagnose the problem.
Best Regards,
Alexander
We are using RichView 14.0.3 in our project, and since recently we observe some strange and irregular behavior (EAccessViolation's, hangups, empty rich content, etc.) obviously caused by the general growth the documents we have to display. After some investigation we narrowed down the problem to the number of images within the document.
To exclude all unrelated factors we generated a simple RTF document https://dl.dropboxusercontent.com/u/893 ... images.rtf which consist of many small images. We can easily open it in MS Word 2013.
The official demo application http://www.trichview.com/resources/acti ... ontest.zip (as of October 31, 2013) however just becomes non-responsive without displaying any clear error message.
Apparently RV attempts to allocate all GDI objects for all images at the time. In most applications this is rather pointless, as one would expect only as many GDI objects as needed for rendering the currently visible area (usually one page) or drawing a page on a given canvas (exactly our scenario).
Another annoying issue is that RV apparently "swallows" the OS-exceptions, which makes it rather difficult to diagnose the problem.
Best Regards,
Alexander