BufferDirty command

Blitz3D Forums/Blitz3D Programming/BufferDirty command

Stephane(Posted 2008) [#1]
hello world
I am to fall by chance on this command "BufferDirty"
What this?


Abrexxes(Posted 2008) [#2]
hi

quote from "versions.txt" in your B3D folder:


***** V1.99 *****

Implemeted many fixes for 'loss of graphics' type situations, eg: when user logs out,
hit's ctrl-alt-del, alt-tabs out of a full screen app etc.

A few special cases:

* 2D images that have been manually modified using WritePixel/WritePixelFast should be declared
'dirty' after you have finished modifying them. You can do this using the new
BufferDirty() command, eg: BufferDirty ImageBuffer( theImage ). If you don't care if such
images survive loss of graphics, you can skip this.

* Vidmem texture contents will not survive loss of graphics. However, the textures themseleves
will still exist, and these are supposed to be frequently updated anyway, so this shouldn't
be a major problem.

* Blitz3D still can't survive desktop rez-mode change in windowed mode. However,
the new GraphicsLost() command can be used to detect this. The only thing you'll be
able to do after GraphicsLost() returns True is EndGraphics() (and then perhaps reload everything
back in if you can be arsed). Or, as I'd be inclined to do, just exit, eg:

...
If GraphicsLost() RuntimeError "Please restart Defender"
RenderWorld
...

Also added 2 new windowed graphics modes: 6 and 7. These are similar to modes 2 and 3, but will
auto-suspend the application when it loses activation. These new modes are highly recommended!


cu


Stephane(Posted 2008) [#3]
I'm french and my english isnt very good.
but if I understood well

If GraphicsLost()Stop
could replace
If GraphicsLost()RuntimeError no?

only the images suffers from it would be enough to reload them
If GraphicsLost()
Stop
Load_Image()
end if


Abrexxes(Posted 2008) [#4]
oui, apres GRAPHICSLOST du peut faire ce que tu veux. Ca veut dire quitter le Programm (END/RuntimeError) ou recharger tout les graphisme avant de continue.

cu


Stephane(Posted 2008) [#5]
ok ,c cool ,je ne savais comment remédier à ce probleme
donc 2 nouvelles commande bien pratique que je viens de comprendre en peu de temps
je te remercie pour m'avoir répondu si rapidement


markcw(Posted 2008) [#6]
See this post.
http://www.blitzbasic.com/Community/posts.php?topic=77065


Stephane(Posted 2008) [#7]
I understood now.
I also saw for the command Handle and Object that I included only, but I needed much time, thing that I do not have any more
all this will enable me to advance
thanks