|
Жрется память (GDI), где неправ чувствую, а сделать ничего не могу.
|
|||
---|---|---|---|
#18+
Суть кода ниже в том, что создается hbshBack_temp (Brush из большой картинки), из него берется из заданного места кусок и пихается в новый bitmap hbmDst, из которого потом делается IPictureDisp, который как объяснял Бенедикт отвечает за битмат hbmDst и битмап удалять не надо. IPictureDisp потом подкладывается как фон Ребар, что делает ребар "прозрачным". Ну, Nothing для IPictureDisp я делаю. Подвох скорее всего во "вложенных" SelectObject (я выделил) -в оригинальных кодах этого нет. В оригинальных градиент рисуется на hdcDst и есть только hbmDst, а здесь мне надо привязаться еще и к hbshBack_temp . Но как извернуться не знаю. На авось когда-то проехало. Счас играюсь со "слайдами" с высокой тестовой частотой (с этой же частотой работает код что ниже), и этот код генерирует мне по +2 объекта GDI в процессах (при каждом срабатывании). Аналогичный код с градиентами новых объектов не плодит (вроде). При частоте 5 сек на XP нехватка ресурсов начинает ощущаться "по черному" довольно быстро, хотя на 8.1-ке вроде держится. Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 07:27 |
|
Жрется память (GDI), где неправ чувствую, а сделать ничего не могу.
|
|||
---|---|---|---|
#18+
hbmOld = SelectObject hbmDstOld = SelectObject А где DeleteObject для этих переменных? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 09:59 |
|
Жрется память (GDI), где неправ чувствую, а сделать ничего не могу.
|
|||
---|---|---|---|
#18+
AntonariyhbmOld = SelectObject hbmDstOld = SelectObject А где DeleteObject для этих переменных? Не помогает. Помогло вроде вот это: Код: vbnet 1.
По крайней мере GDI-объекты плодить перестал. Смотрел сюда (похожий код): Пример создания значков пунктов меню ... |
|||
:
Нравится:
Не нравится:
|
|||
27.02.2014, 20:25 |
|
|
start [/forum/topic.php?desktop=1&fid=60&tid=2156485]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
49ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 161ms |
0 / 0 |