home *** CD-ROM | disk | FTP | other *** search
-
-
-
- - 1 -
-
-
-
- 5. _K_n_o_w_n__P_r_o_b_l_e_m_s__a_n_d__W_o_r_k_a_r_o_u_n_d_s
-
- This chapter lists the known problems in version of the
- ImageVision Library and, where known, ways to work around
- them.
-
-
- 5.1 _U_s_e__o_f__i_l_T_h_r_e_a_d__D_e_s_t_r_u_c_t_o_r__C_a_n__K_i_l_l__M_a_i_n__P_r_o_g_r_a_m
-
- The ilThread destructor often kills main program. The IL
- doesn't use this destructor and hence doesn't run into this
- problem. If your application explicitly creates and deletes
- ilThreads, then you will run into this problem.
-
-
- 5.2 _i_l_O_p_I_m_g _I_n_h_e_r_i_t_i_n_g _F_i_l_l _V_a_l_u_e_s _W_h_e_n _M_i_n/_M_a_x _a_r_e
- _E_x_p_l_i_c_i_t_l_y _S_e_t
-
- Under certain conditions ilOpImg does not inherit fill value
- correctly. If an operator image changes its min and max
- values, then the fill value that it inherits from its input
- can become out of range. The workaround is to detect
- min/max changes and then explicitly set the fill value, if
- necessary.
-
-
- 5.3 _F_F_T__o_p_e_r_a_t_o_r_s__i_n_c_o_r_r_e_c_t__f_o_r__d_a_t_a__t_y_p_e_s__o_t_h_e_r__t_h_a_n__c_h_a_r
-
- The FFT operators compute incorrect results for data types
- set to anything other than iflChar and iflUChar.
-
-
- 5.4 _C_o_l_o_r_m_o_d_e_l__i_g_n_o_r_e_d__o_n__a_c_c_e_l_e_r_a_t_e_d__o_p_e_r_a_t_o_r_s
-
- Setting the colormodel is ignored on accelerated operators.
- It will work correctly if the colormodel is set on an
- operator image with acceleration turned off on that
- operator.
-
-
- 5.5 _F_i_l_l__v_a_l_u_e__n_o_t__p_r_o_p_e_r_l_y__i_n_v_e_r_t_e_d__w_i_t_h__z_o_o_m__a_n_d__a_n_g_l_e_=_0
-
- With hardware acceleration turned on, and an ilRotZoomImg is
- enabled, the fill value is not properly inverted if the
- rotation angle = 0; at other angles, the fill is inverted.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 2 -
-
-
-
- 5.6 _C_a_n_n_o_t__u_s_e__p_s_e_u_d_o_c_o_l_o_r__v_i_s_u_a_l_s__f_o_r__R_G_B__r_e_n_d_e_r_i_n_g
-
- Currently the ilHwContext allocates its GLXContext based
- upon the render type specified by the given visual. For
- luminance visuals (pseudocolor visuals that allow GL RGB
- rendering), the ilHwContext constructor assumes color index
- rendering and allocates a color index context. This will not
- support RGB rendering to a drawable allocated with the
- luminance visual.
-
-
- 5.7 _W_h_e_n__I_L__r_u_n_s__o_u_t__o_f__m_e_m_o_r_y_,__i_t__t_e_r_m_i_n_a_t_e_s__t_h_e__p_r_o_g_r_a_m
-
- IL can call exit() if it runs out of memory, causing the
- application to terminate.
-
-
- 5.8 _g_e_t_T_i_l_e _b_e_y_o_n_d _l_i_m_i_t_s _o_f _c_h_a_n_n_e_l _d_i_m_e_n_s_i_o_n _d_o_e_s_n'_t _f_i_l_l
- _p_r_o_p_e_r_l_y
-
- The iflConverter object doesn't properly handle the masking
- of getTile() operations on ilImage that go beyond the limits
- of the channel dimension. A workaround would be to fill the
- buffer before calling getTile in this situation.
-
-
- 5.9 _i_l_L_u_t_I_m_g _o_n _i_f_l_R_G_B_P_a_l_e_t_t_e _i_m_a_g_e_s _r_e_n_d_e_r_s _i_n_c_o_r_r_e_c_t_l_y _o_n
- _I_m_p_a_c_t
-
- This is caused by an Impact OpenGL bug that occurs when
- drawing rectangles of width 1 when PixelMap is on.
-
-
- 5.10 _S_i_n_g_l_e__T_R_A_M__I_m_p_a_c_t__c_a_n_'_t__d_o__m_e_s_h__w_a_r_p_s__w_e_l_l
-
- It can run out of texture fairly easily causing rendering
- errors.
-
-
- 5.11 _F_r_a_c_t_i_o_n_a_l__z_o_o_m__s_o_m_e_t_i_m_e_s__r_e_n_d_e_r_s__p_o_o_r_l_y
-
- ilRotZoomImg with nearest neighbor resampling, fractional
- zoom factors, and no rotation will sometimes leave gaps in
- the rendered image. This is most prevalent on Impact
- graphics. A workaround is to switch to bilinear resampling.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 3 -
-
-
-
- 5.12 _C_l_o_s_i_n_g _m_o_n_i_t_o_r _d_e_f_e_a_t_s _P_R__S_I_G_E_X_I_T _t_h_r_e_a_d _c_l_e_a_n_u_p
- _l_o_g_i_c
-
- If you close the monitor, PR_EXITSIG will be disabled and
- never reenabled. This will cause IL threads to be left
- laying about when the IL application exits.
-
-
- 5.13 _i_l_C_o_l_o_r_I_m_g _d_o_e_s _n_o_t _h_a_n_d_l_e _o_f_f_s_e_t _i_n_t_o _i_f_l_R_G_B_P_a_l_e_t_t_e
- _d_i_t_h_e_r _p_a_t_t_e_r_n
-
- ilColorconv does not properly handle offset into
- ilRGBPalette dither pattern. Dither pattern is 4x4 but
- initial offset always starts at 0 for every page. This does
- not occur with Floyd-Steinberg dithering.
-
-
- 5.14 _D_o_u_b_l_e-_b_u_f_f_e_r_e_d _e_x_p_o_s_u_r_e _r_e_p_a_i_n_t_s _s_l_o_w _o_n _E_x_t_r_e_m_e _a_n_d
- _X_Z
-
- Due to problems in the OpenGL implementation on Indigo2
- Extreme and XZ graphics (drawing to the front and back
- buffer simultaneously is slow on these machines), doubled
- buffered image repaints are slow (ilDisplay redraw() or
- paint(ilPaintExpose)).
-
-
- 5.15 _i_l_V_i_e_w _b_o_r_d_e_r_s _w_i_t_h _d_a_s_h_e_d _l_i_n_e _s_t_y_l_e _r_e_n_d_e_r_e_d _a_s
- _s_o_l_i_d
-
- The dashed line style is only supported with ilVkViewer when
- the overlay is enabled.
-
-
- 5.16 _p_b_u_f_f_e_r__r_e_a_d_b_a_c_k__c_a_n__d_e_a_d_l_o_c_k
-
- When the middle of an operator chain is accelerated through
- pbuffer (with unaccelerated portions before and after the
- accelerated portion) the IL can get into a deadlock state.
- The workaround is to not enable readback acceleration (which
- is off by default) on such chains.
-
-
- 5.17 _F_F_T__m_e_r_g_e__w_i_t_h__s_m_a_l_l__p_a_g_e__s_i_z_e__c_a_u_s_e_s__S_E_G_V
-
- Using ilFMergeImg with a page size that is smaller than the
- merged image size can result in a SEGV in the application.
- The work around is to set the page size of the ilFMergeImg
- to its size.
-
-
-
-
-
-
-
-
-
-
-
-
-
- - 4 -
-
-
-
- 5.18 _L_u_m_i_n_a_n_c_e__r_e_n_d_e_r_i_n_g__s_u_p_p_o_r_t__i_s__n_o_t__c_o_m_p_l_e_t_e
-
- By using the findVisualByAttr() call with attr containing
- ilVisRenderRGBA and ilVisPseudoColor or ilVisStaticGray, an
- application can force IL to allocate a luminance visual. The
- ilHwPassGL does not however abide by this choice and forces
- most of its operations back to the host.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-