|
Конвертер TIFF(BMP...)->SFF самому написать реально? Вопрос скорее к Бенедикту.
|
|||
---|---|---|---|
#18+
Так, спокойно. Дмитрий77ZVI5. Частое Put также может тормозить изрядно, лучше набивать в памяти буфер или байтовый массив приличного размера, а затем изредка добавлять его в файл. Хотя надежды что это поможет мало. Поможет. 1) Сначала я попробовал делать Put один раз на строчку (ф-ция writeLine) 52 страницы скорость возросла до 37сек вместо 43 2) Потом попытался буферизовать страницу целиком: в SFF_writePage объявляю Dim data() As Byte при каждом вызове writeWhiteLinesToBuffer или writeLineToBuffer передаю туда data ByRef, высчитываю сколько байтов добавляю, делаю ReDim Preserve data по новому размеру и дописываю туда байты. Put делаю один раз на страницу. Код ниже: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148.
Скорость возросла до 52страницы за 32-33сек. Вопросы: 1) хорошо ли буферизовать страницу целиком как я делаю,динамически меняя размер массива ну килобайтов 200 там легко может быть. Не тормозит ли это(что целиком)? И можно ли так оставить? 2) по идее это надо делать по другому. Брать например Dim data(2048) As Byte ' the buffer и по заполнении скидывать в put. Только как это организовать? Тогда перед каждым байтом надо делать проверку на количество записанных (это в разных местах кода) и хаотически вызывать из writeWhiteLines либо writeLine. Ну, не знаю как это сделать. 3) Надо ли буферизовать SFF_writeHeader и SFF_writePageHeader или это "копейки"? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2012, 00:24 |
|
Конвертер TIFF(BMP...)->SFF самому написать реально? Вопрос скорее к Бенедикту.
|
|||
---|---|---|---|
#18+
ZVI1. If- ElseIf - … - ElseIf -_End If в VB немного быстрее, чем Select - Case - … - End Select Не подтверждаю, попробовал, на 52 страницы 36-37 сек вместо 34сек c Case: и 33сек с массивами. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2012, 01:55 |
|
Конвертер TIFF(BMP...)->SFF самому написать реально? Вопрос скорее к Бенедикту.
|
|||
---|---|---|---|
#18+
Дмитрий772) по идее это надо делать по другому. Брать например Dim data(2048) As Byte ' the buffer и по заполнении скидывать в put. Только как это организовать? Ну поставил нежесткий ограничитель, Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
при использовании больших чисел напр. >2048 относительно буферизации целой страницы скорость несильно плавает. Пусть будет ~>2048, чего память транжирить. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.06.2012, 02:48 |
|
Конвертер TIFF(BMP...)->SFF самому написать реально? Вопрос скорее к Бенедикту.
|
|||
---|---|---|---|
#18+
Однако, все таки внимательно надо документацию читать. CAPI 2.0 SFFNo EOL code words or fill bits are included. If the data includes EOL code words, COMMON-ISDN-API ignores these. В процессе доп. тестов выяснил: COMMON-ISDN-API может быть и ignores, т.е. файлы с EOL успешно передаются и просматриваются большинством вьюеров, входящих в комплект поставки CAPI приложений. А вот эта программа: IrfanView ...one of the most popular viewers worldwide! -она кстати единственная независимая, которую нашел и умеет работать с SFF форматом, она при добавлении EOL файлы не показывает и считает битыми. Посему про EOL пришлось убрать: Код: vbnet 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2012, 10:21 |
|
|
start [/forum/topic.php?fid=60&msg=37847500&tid=2157584]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 15ms |
total: | 163ms |
0 / 0 |