Hallo medetweakers,
ben aan het stoeien geweest met .net en heb een zeer simpel fotoboek gestolen van het internet en aangepast naar mijn wensen. Ik geloof dat ik de code snap (ben asp 3 programmeur) maar het is nog niet helemaal naar wens.
Als ik lokaal (op een XP pro machine) foto's bekijk, dan gaat het allemaal prima, het CPU schiet omhoog, maar gaat ook snel weer naar benee (de foto's zijn dan geladen.) Als ik op mijn server naar dezelfde pagina ga, duurt het een eeuwigheid voor de plaatjes geladen zijn. Zelfs als het maar 8 plaatjes zijn die geresized worden tel ik al gauw 8 seconden voordat de plaatjes te zien zijn. Het kan niet aan de snelheid van het internet liggen, want het is een server op hetzelfde netwerk. Als ik dan een plaatje helemaal wil zien, dan gaat het wel sneller. Kan het zijn GetThumbnailImage gewoon zoveel CPU eet of heb ik er verkeerd gebruik van gemaakt?
de betreffende code:
ik geef de width en height mee... bij het aanroepen van de pagina. De pagina wordt ook gebruikt voor het echt tonen van het image. Alleen dan zonder width en height...
ben aan het stoeien geweest met .net en heb een zeer simpel fotoboek gestolen van het internet en aangepast naar mijn wensen. Ik geloof dat ik de code snap (ben asp 3 programmeur) maar het is nog niet helemaal naar wens.
Als ik lokaal (op een XP pro machine) foto's bekijk, dan gaat het allemaal prima, het CPU schiet omhoog, maar gaat ook snel weer naar benee (de foto's zijn dan geladen.) Als ik op mijn server naar dezelfde pagina ga, duurt het een eeuwigheid voor de plaatjes geladen zijn. Zelfs als het maar 8 plaatjes zijn die geresized worden tel ik al gauw 8 seconden voordat de plaatjes te zien zijn. Het kan niet aan de snelheid van het internet liggen, want het is een server op hetzelfde netwerk. Als ik dan een plaatje helemaal wil zien, dan gaat het wel sneller. Kan het zijn GetThumbnailImage gewoon zoveel CPU eet of heb ik er verkeerd gebruik van gemaakt?
de betreffende code:
ASP:
1
2
3
4
5
6
7
8
| Dim dummyCallBack as System.Drawing.Image.GetThumbNailImageAbort dummyCallBack = New System.Drawing.Image.GetThumbnailImageAbort(AddressOf ThumbnailCallback) Dim thumbNailImg as System.Drawing.Image thumbNailImg = fullSizeImg.GetThumbnailImage(imageWidth, imageHeight, dummyCallBack, IntPtr.Zero) thumbNailImg.Save(Response.OutputStream, ImageFormat.Jpeg) |
ik geef de width en height mee... bij het aanroepen van de pagina. De pagina wordt ook gebruikt voor het echt tonen van het image. Alleen dan zonder width en height...